
Внезапно новый 52й выпуск. В гостях Андрей Мелихов и Вячеслав Слинько. Тема разговора: микросервисы на фронтенде.
Когда-то, еще работая в крупной компании, была у нас идея фикс — создать такую архитектуру на фронтенде, чтобы можно было сочетать в себе разные технологии и фреймворки. Например, можно было бы сочетать React и Angular. И чтобы это все взаимодействовало как микросервисы. Зачем? Переход на новую технологию в энерпрайзе очень дорого. Чтобы что-то попробовать — надо получить ресурсы (люди, время). Можно завести отдел RnD и делать там эксперименты. Но это так же не дешево.
А еще хочется ускорить разработку. Представьте себе, что вы нашли себе компонент мечты, и понимаете что вы можете взять его и заюзать, но он написан на Angular. А у вас React. Писать свой? А представьте, что если было бы можно его встроить в текущую архитектуру. Мечта? Мы думали что мы безумцы но, как показывает практика, не мы одни думали в этом направлении. Мы даже рассматривали некоторые подходы и техники и пытались придумать что-то свое.
В этом подкасте мы попытались понять что такое микросервисы на фронтенде.
- Что такое микросервисы на фронтенде? 00:00:08
- Можем ли мы скрестить React с Angular?
- Фронтенд микросервисы на SSI/ESI ? 00:18:29
- iFrame в качестве контейнера для микроприложений – почему нет? 00:20:44
- Обсуждаем проект Mosaic (https://www.mosaic9.org) 00:27:08
- Web Components созданы для реализации микросервисов на фронтенде 00:32:07
- Open Components 35:00:24
- Выводы: проблемы множества фреймворков и разных версий библиотек присущи только большим энтепрайзным проектам 37:34:00
- В чем прелесть Vue.js 38:48:00
- AWS Lambda и Cloudflare Workers как инструмент построения микросервисов на фронтенде 43:09
- Смешивать Angular и React – это издевательство над пользователями 46:21:00
- Вывод: микросервисы на фронтенде – это подход при котором мы собираем результирующий фронтенд из частей с разных сервисов 48:00:00
- Новости: в JS завезли BigInt 49:05:00
- Регистраторы продают уже заблокированные домены! 55:28:00
- Книга “Чистая архитектура” 58:50:00
- Авторы фреймворков не знают ваших проблем и знают свои проблемы. Поэтому создавая фреймворки они решают свои проблемы! 01:00:37
- Почему наши крупные компании больше не пишут свои фронтенд фреймворки и зависят от Google и других? 01:01:36
- Новая книга Фаулера с примерами на JavaScript – это победа JS или хайп? 01:07:30
- Не нужно замыкаться на чем-то одном и быть узко специализированным разработчиком. Нужно учить не фронтенд и бекенд, нужно изучать весь мир программирования 01:07:48
- Конференции 01:19:10
- https://devconf.ru/ru 18 мая в Москве. Секцию Frontend ведет Александр Майоров
- http://frontendconf.ru/moscow-rit/2018 28-29 мая в Москве
- https://holyjs.ru/ 19-20 мая в Питере
- Cut! 01:22:50
Пики
Давно обещанный выпуск, целиком посвященный веб-компонентам и 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
В новогодний выпуск к нам в гости пришел Сергей Рубанов (Twitter и GitHub): человек-энциклопедия спецификаций ECMAScript, OpenSource-контрибьютор, докладчик различных фронтенд конференций и митапов и один из оранизаторов Moscow BeerJS. Обсудили уходящий год, что он нам принес в плане поддержки новых стандартов, обновлений популярных фреймворков и библиотек, новых технологий и методологий разработки браузерных и серверных приложений на JavaScript и веб-стандартах. Немного поговорили о ближайщем будущем WebAssembly, PWA и WebVR.
- Стандарты:
- Node.js:
- кончается период поддержки старых версий, все переходят на Node 6 (LTS) 24:06
- Node.js on ChakraCore: с 20 ноября есть на всех платформах (там даже есть async/await) 25:07
- Фреймворки:
- Сборка:
- webpack 2 с поддержкой динамических импортов готовится к релизу 57:48
- yarn ворвался в нашу жизнь 1:01:29
- зачем каждому языку свой пакетный менеджер? 1:05:36
- CSS в JS: JSS, Aphrodite, Styletron (Virtual CSS), radium 1:06:57
- CSS не нужен (спойлер: HTML и JSX тоже) 1:11:03
- CSS Houdini 1:15:58
- WebAssembly почти везде (только не в Safari) 1:16:36
- Транспиляторы:
- TypeScript растет и развивается: Babel не нужен? 1:25:13
- в Babel вообще куча всего: меньше контрибьюторов, babel-preset-env, babili, пропозалы в отдельную репку 1:26:50
- VR: WebVR, A-Frame, React VR 1:32:55
- PWA: немного статистики 1 и 2 1:38:21
- Список конференций 2017 1:39:17
Долгожданный выпуск. Побили рекорд по времени подкаста. Пообщались с Василикой про ее работу и опыт выступления на MoscowJS, опыт в политике и его связь с веб-разработкой, зарплаты российских разработчиков и возможность переезда за границу. Обсудили интересные доклады с последних конференций JSConf в Будапеште и FrontendConf в Москве. Было много холиваров на тему Twitter’а, английского языка, методологий разработки и многого другого. Разумеется, не прошли мимо последних громких новостей – объединения io.js и Node.js и возможного объединения Underscore.js и lodash. По традиции рассказали много пиков, которые обязательно вас заинтересуют. Все как вы любите!
- Интервью с Василикой Климовой 00:00:54
- От знакомства до первого доклада про WebGL на MoscowJS 00:01:02
- Немного про рабочие будни разработчика интерфейсов 00:05:37
- Почему не стоит писать браузерные тесты на rspec и capybara 00:07:09
- Про браузерный плеер 3D-моделей и реальный опыт с WebGL 00:10:18
- Участие в выборах в тверскую городскую думу 00:12:25
- Чем похожи работа программиста и депутата? 00:15:41
- Актуальные исследования зарплат разработчиков 00:16:58
- Где программисту жить хорошо? 00:17:37
- Про английский язык и его место в комьюнити разработчиков, про зарубежных докладчиков на российских митапах и конференциях 00:19:51
- Зачем Twitter современному веб-разработчику 00:27:51
- Обсуждаем доклады конференций, на которых мы были (и пиво пили 🙂 00:33:40
- JSConf Budapest 2015 00:34:09
- Доклад André Staltz (RxJs, RxMarbles) про новый фреймворк Cycle.js, построенный на принципах функционального реактивного программирования (видео, картинка, слайды)
- Доклад Matthew Podwysocki про асинхронность JS (видео, слайды)
- Доклад Stephan Bönnemann про SemVer и боязь инкремента мажорной версии
- FrontendConf 2015 00:47:53
- Доклад Антона Виноградова про двухстороннюю синхронизацию работы дизайнера и разработчика при создании библиотеки компонентов (слайды, веб-сервис)
- Доклад Валентина Васильева про Browser Fingerprint (библиотека)
- Доклад Сергея Белова про уязвимости в браузерных приложениях (слайды)
- Доклад Антона Шувалова про отладку кода в браузере (слайды)
- Доклад Бориса Каплуновского про идеи оптимизации DOM-шаблонизаторов и новый движок temple
- Agile, Scrum, Kanban, Waterfall 01:01:13
- Concurrency in JS 01:18:34
- io.js + Node.js (Node.js Foundation) и возможное объединение Underscore.js + lodash 01:24:23
- И снова про пакетные менеджеры, npm vs bower…
- Приватные модули в npm 01:31:31
- Пики 01:34:18
- Костя
- Rendr – small library that allows you to run your Backbone.js apps seamlessly on both the client and the server
- Sit the Test
- Клёвая анимашка на SVG сделанная с помощью mojs
- T3.js – minimalist JavaScript framework that provides core structure to code авторства nzakas
- RQ – small JavaScript library for managing asynchronicity in server applications авторства Дугласа Крокфорда
- Миша
- Лика
- Андрей
Представляем вам второй выпуск подкаста RadioJS! В этот раз мы, совместно с нашим гостем Романом Дворновым, делимся полезными ресурсами для JS-разработчиков, обсуждаем альтернативы Twitter Bootstrap, рассказываем чего ждать от EcmaScript 6.
Рома знатный адвокат компонентного подхода к разработке. На протяжении всего выпуска мы касались этой темы, а ближе к концу ушли в её обсуждение с головой. Надеемся, что и вы присоединитесь к обсуждению онлайн. Напишите в комментариях, что вы думаете о компонентой разработке? Знаете ли вы об этом подходе? Применяете ли? Если да, как успехи? Если нет, что вас останавливает?
Этот выпуск для вас записали:
- Миша Башкиров @bashmish
- Константин Буркалев @KSDaemon
- Андрей Саломатин @filipovskii
- Роман Дворнов @rdvornov
Темы выпуска:
- Интересные ресурсы для JS-разработчиков 0:40
- TJ Holowaychuk продал Express в StrongLoop 4:28
- CSS фреймворки, альтернативы Bootstrap 8:30
- ng-polymer-elements – биндинги Polymer-виджетов для AngularJS 11:10
- LazyJsonUndoRedo 15:38
- EcmaScript 6 Harmony 25:43
- Компонентный подход к разработке 34:15