Давно обещанный выпуск, целиком посвященный веб-компонентам и Polymer. Сделали введение в тему, обсудили подводные камни и перспективы технологии, а также ответили на многие вопросы наших активных слушателей трансляции, сделавших рассказ менее пафосным и более живым. За кадром остались еще многие и многие другие неосвещенные темы и подробности, которые в будущем еще не раз всплывут в нашем подкасте.

  • Четыре спецификации и их поддержка в браузерах 00:01:49
  • Полифилл 00:10:46
  • HTML Imports vs ES6 Modules 00:12:55
  • Удобство использования <template> 00:14:40
  • Жива ли тема веб-компонентов? 00:16:59
  • Что дает Polymer поверх веб-компонентов? 00:19:02
  • Кто использует веб-компоненты? 00:24:38
  • Почему выбирают веб-компоненты 00:26:28
  • Похожа ли разработка на другие фреймворки? 00:31:52
  • Наследование веб-компонентов 00:34:38
  • Стоит ли сейчас начинать разработку на Polymer: особенности миграции 1.x => 2.x 00:35:40
  • Альтернатива Polymer: SkateJS 00:39:10
  • Откажемся ли мы от Angular и React когда взлетят веб-компоненты? 00:42:32
  • Переиспользование библиотек в разных компонентах 00:45:14
  • Чем так плохи HTML Imports 00:47:22
  • Импорт веб-компонентов с других доменов и CSP 00:51:16
  • Насколько маленькими должны быть веб-компоненты 00:53:10
  • Шаринг стилей и производительность 00:59:08
  • Сборка проекта и сравнение: polymer-bundler (ex. vulcanize) vs Webpack 01:03:14
  • Material Design спеки и PolymerElements 01:06:17
  • Миграция с Angular (или других фреймворков) на Polymer 01:08:12
  • Примеры компонентов, которые мы разрабатываем 01:12:16
  • В чем киллер фича веб-компонентов: долговечность, доступность и стабильность компонента 01:13:26
  • Проблемы с юнит-тестированием 01:20:42
  • Polymer Summit 2016 01:23:52
  • Как разрабатывать большие приложения на нестабильной спеке 01:25:02
  • Как связывать между собой веб-компоненты 01:28:34
  • Микросервисная архитектура на фронтенде 01:34:26

По традиции напоследок пара слов про новый релиз TypeScript 2.2 01:44:48

Скачать выпуск (mp3, 51 MB)

В новогодний выпуск к нам в гости пришел Сергей Рубанов (Twitter и GitHub): человек-энциклопедия спецификаций ECMAScript, OpenSource-контрибьютор, докладчик различных фронтенд конференций и митапов и один из оранизаторов Moscow BeerJS. Обсудили уходящий год, что он нам принес в плане поддержки новых стандартов, обновлений популярных фреймворков и библиотек, новых технологий и методологий разработки браузерных и серверных приложений на JavaScript и веб-стандартах. Немного поговорили о ближайщем будущем WebAssembly, PWA и WebVR.

Скачать выпуск (mp3, 50 MB)

В гостях Андрей Михайлов (lolma.us) с рассказом про достоинства, отличительные черты и недостатки Ember.js. Где-то с середины выпуска к прямой трансляции также подключился евангелист Ember.js Андрей Листочкин (@listochkin) и поддержал коллегу по цеху, после того как мы слегка подзавалили Андрея Михайлова вопросами и своим изрядным скептицизмом. В целом получился подробный анализ фреймворка, экскурс в историю его развития, сравнение его с актуальными конкурентами и лучшими практиками. Надеемся у вас теперь достаточно знаний, чтобы как минимум дать Ember.js шанс в следующем большом или маленьком проекте, либо воспользоваться для прототипирования.

Изложение того, что обсудили (в нехронологическом порядке):

  • Вводные про бэкграуд Андрея и как он пришел к Ember.js
    • какие фреймворки использовал до этого
    • как остановил внимание на Ember.js
    • эффект утенка – почему не все готовы перелезать на другие фреймворки
  • Преимущества и отличительные черты
    • сразу можно сосредоточиться на бизнес логике
    • готовый поддерживаемый бойлерплейт (ember-cli), который поддерживает все фичи (Angular CLI украл идею)
    • идеален для прототипирования
    • стабильность и обратная совместимость при достаточно высокой скорости развития
    • декларативный синтаксис шаблонизатора Handlebars, а под капотом быстрый Glimmer 2
    • использование своей системы классов: геттеры и сеттеры для обновления данных
    • developer joy, или как сделать разработчика счастливее
    • модели как хранилища данных, адаптеры и сериалайзеры для синхронизации с бекендом
    • простота интеграции с любыми бекендами
    • и в том числе и WebSockets очень легко (ember-phoenix)
    • server side rendering (ember-cli-fastboot)
    • аналог Express в браузере для прототипирования и тестирования (ember-cli-mirage)
    • активное и открытое сообщество
      • система аддонов, благодаря которой можно внедриться в любой процесс фреймворка
      • большинство аддонов консистентны и учитывают другие аддоны в экосистеме
      • новые аддоны появляютя не сразу, но на них легко перелезть и комьюнитие быстро переходит
      • богатая документация
      • нет конкретного владельца, развивается независимым сообществом
      • сообщество очень открытое – все решения принимаются публично, есть понятная процедура принятия стандартов
      • каждый 6 недель релизы (deprecation policy, feature flags, LTS-релизы)
    • система тестирования из коробки с бойлерплейтами, тулинг для тестирования асинхронного кода
    • ленивая загрузка модулей и rollup.js
  • Спорные вопросы и сравнение с известными подходами
    • сравнение подходов “собери свой фреймворк сам” и “монолитный фреймворк”
    • есть ли известные проекты на Ember.js: builtwithember.io
    • управление состоянием: стандартный подход и ember-redux
    • сервисы как хранилища состояния независимых компонентов
    • совпадение ли то, что бекенд часто тоже на Ruby on Rails? сравнение философии Rails и Ember.js
    • управление зависимостями, когда используешь много аддонов
    • переиспользуемость аддонов (компонентов), расширение их функционала без форка
    • геттеры и сеттеры и реактивное программирование
    • склеивание с другими фреймворками, особенно при переезде с легаси
  • Недостатки
    • невозможна из коробки генерация динамической DOM-структуры, где заранее неизвестна вложенность элементов
    • геттеры и сеттеры стали громоздкий после отказа от CoffeeScript
    • сложно внедрить TypeScript
    • run-loop запросов через очередь приводят к сложностям с отладкой при падениях
    • мало ресурсов вкладываются в маркетинг, поэтому он не такой популярный, как некоторые другие
    • самый большой размер дистрибутива, особенно когда много аддонов
    • нет аналога react-native
    • надо думать при работе с ним: Ember.js way, когда ищешь аддон вместо написания простыни кода на каждый кейс
  • Будущее
    • аналог PRPL из коробки, который частично уже давно реализован и работает
    • ставка на PWA на фоне кризиса нативных приложений
    • ставка на веб-стандарты
    • улучшение поддержки написания мобильных приложения
Скачать выпуск (mp3, 45 MB)

По случаю накопившихся вопросов (а также опыта, что гораздо важнее) по Angular 2 мы позвали в гости Алексея Охрименко (Twitter, GitHub), который давно зарекомендовал себя как специалист по различным фреймворкам и библиотекам, включая AngularJS и D3.js, а также как профессиональный спикер различных российских конференций и митапов. Также к нам снова присоединился Александр Майоров, с очередными новостями из мира TypeScript, который продолжает бурно развиваться и радовать многих разработчиков. Ну и, конечно, мы не смогли пройти мимо новости о Yarn, о котором разгорелись бурные споры.

Скачать выпуск (mp3, 45 MB)

Сегодня в гостях у RadioJS Александр Майоров (@frontdevops в gh и twi) из tutu.ru. Саша давно работает с TypeScript и ему есть что сказать по поводу нового релиза. Также обсуждаем отношение к типизации в командах, стоит ли писать и поддерживать серверный код и прошедшие конференции.

Скачать выпуск (mp3, 31 MB)