Внезапно новый 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 и Facebook ? 01:01:36
  • Новая книга Фаулера с примерами на JavaScript – это победа JS или хайп? 01:07:30
  • Не нужно замыкаться на чем-то одном и быть узко специализированным разработчиком. Нужно учить не фронтенд и бекенд, нужно изучать весь мир программирования 01:07:48
  • Конференции 01:19:10
  • Cut! 01:22:50

Пики

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

В первой части подкаста у нас в гостях Алексей Гурьянов, один из мейнтейнеров фреймворка Cerebral, с рассказом про нелегкую, но интересную, жизнь разработчика в опенсорсе, про развитие фрейморка в условиях жесткой конкуренции со стороны Facebook и другими, его преимущества по сравнению с Redux и MobX и немного про кишочки. Во второй части Саша рассказывает про текущее состояние VR и AR в вебе и на телефонах, а ближе к концу мы мечтаем о том, какое будущее нас ждет, когда эти технологии стабилизируются и будут нормой жизни.

  • Алексей Гурьянов про разработку фреймворка Cerebral
    • Как пришел во фронтенд 00:00:33
    • Как пришел в проект Cerebral во временя хайпа React и Redux 00:04:40
    • Почему решили создавать Cerebral, похожий на React/Redux 00:08:14
    • ES6 template strings в сигналах 00:12:35
    • Оптимизация рендеринга 00:16:31
    • Что мотивировало продолжать разработку при таком хайпе Redux 00:17:47
    • Экскурс в историю: от CerebralJS к Cerebral 2 00:18:33
    • Инструменты отладки состояния приложения и производительности 00:21:45
    • Примеры продакшн приложений Unity Connect и WebpackBin 00:26:01
    • Как происходит бутстрап и разработка приложения с использованием Cerebral 00:27:32
    • Сложности перехода с npm на yarn 00:29:18
    • Как готовится миграцию на Cerebral 2 00:31:52
      • полуавтоматическая миграция с помощью codemod toolkit 00:35:09
    • Официальные модули для работы c HTTP, Firebase, формами, localStorage и другим 00:40:36
    • Как позиционируется относительно MobX: между Redux и MobX 00:44:28
    • Управление сайдэффектами 00:46:50
    • Как устроена модель 00:48:54
    • Статья “Доводы в пользу function tree” 00:51:22
    • Вынесение побочных эффектов из ядра в отдельные модули 00:56:30
    • Концепция сигналов, которая никак не связана с другими языками 01:02:32
    • Поддержка биндингов к inferno 01:03:46
    • Развитие комьюнити: мы ищем таланты 01:06:18
  • Саша про VR и AR в вебе
Скачать выпуск (mp3, 53 MB)

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

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

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

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

Как нельзя кстати к нам в гости пришел Олег Слободской – автор JSSдокладчик React Amsterdam и крестный отец CSS Modules, который как никто другой может рассказать про то, чем так ужасен CSS на крупных и долгих проектах, какие есть преимущества у инлайн-стилей, и как вообще жить в современном мире, когда каждый норовит придумать, как бы так еще теснее связать CSS с JS. О решениях наболевших проблем CSS и проблемах новых мы и поговорили, записав с Олегом часовое интервью.

  • Как зародилась идея JSS 04:30
  • В чем проблема CSS 08:00
    • Глобальные селекторы 10:15
      • Есть ли им место (типографика, Normalize.css)
      • Все ли стили должны быть изолированы в компоненте
    • Дублирование кода 13:16
    • Мертвый код и неявные зависимости 16:50
    • Специфичность 20:00
  • Какие есть подходы к CSS в JS
    • Инлайн-стили через JS 22:05
    • Генерация стилей в JS 27:43
    • CSS Modules и прочий постпроцессинг 31:03
  • Особенности работы JSS
    • Все ли проблемы решает библиотека 35:49
    • Проблемы производительности 37:00
    • Минификация 42:33
    • Недостатки 44:31
    • Сравнение с похожими решениями (radium и aphrodite48:40
    • Модульность как в PostCSS 51:36
    • JSS как compilation-таргет для CSSX 54:32
    • Примеси JS в CSS 59:25
Скачать выпуск (mp3, 59 MB)