Развертывание мета-фреймворков

После многих лет относительной стабильности в современной разработке фронтенда (FE), кажется, что за последние ~ год она снова вошла в фазу массивных открытий и роста. Я уверен, что мы все чувствуем новые боли роста. На мой взгляд, наибольший вклад в этот новый период роста внесли (без особого порядка):

  1. Vite
  2. Приток денег и выигранного времени в разработку OSS
  3. Растущая популярность различных моделей реактивности и компонентов
  4. Рост числа мета-фреймворков благодаря более низкому барьеру входа
  5. Исследование старых/новых стратегий гидратации
  6. Увеличение количества услуг на границе, которые также становятся более доступными
  7. Облачные среды разработки

В мире FE часто бывает так, что появляется какой-то инструмент, архитектура, паттерн или технология (которые я просто сгруппирую и назову изобретением) с нужным уровнем абстракции, DX, приростом производительности и/или увеличением продуктивности настолько, что это встряхивает все вокруг. В качестве примеров можно привести jQuery, Backbone, Angular 1, React, Rollup/Webpack, а с недавних пор и Vite. Эти изобретения со временем полностью переопределяют ландшафт FE, как в open-source, так и в коммерческой сфере.

Единственное изобретение, которое выделяется для меня в упомянутом списке, — это Vite. Оно выделяется просто тем, что стало ключевым фактором в унификации критически важной части нашего инструментария FE. В и без того фрагментированной экосистеме это было желанным изменением.

Почему унификация инструментария в FE важна?

Это точка стандартизации в userland, где авторы библиотек/фреймворков и обычные разработчики могут обсуждать идеи, вносить исправления ошибок, создавать плагины, собирать инструменты, внедрять лучшие практики и разрабатывать общие паттерны, которыми могут воспользоваться все. Короче говоря, это позволяет нам более эффективно работать над достижением схожих целей, оставаясь при этом DRY.

Это был удивительный инженерный подвиг — увидеть, как вокруг Vite объединилось столько инструментов. Интересно, что объединение инструментов сборки сделало очевидным, что идея о великой войне JS-фреймворков, в которой один победитель восстанет из пепла, всего лишь сказка. Я знаю, что некоторые надеются, что «усталость от JS» когда-нибудь закончится, но я вижу обратное — она набирает обороты. Реактивные примитивы, планировщик, компонентная модель, DSL, компромиссы DX, стратегии гидратации, шаблоны загрузки данных и т.д. каждого фреймворка принимаются на основе индивидуальных предпочтений и требований пользователя, команды и проекта. Существует слишком много переменных, чтобы одно решение могло управлять всеми. Похоже, что благодаря таким инструментам, как Vite, сообщество JS в целом может принять свои различия и найти общий уровень для абстрагирования — уровень разработки и создания приложений.

Next.js удерживал трон в течение многих лет, но, похоже, события этого года могли проложить путь к новой эре — войне мета-фреймворков (пока мы не поймем, что это тоже мираж). После этого мы, вероятно, сделаем то же самое с JS runtimes. Истина отсюда заключается в том, что метафреймворки будут продолжать появляться по мере появления новых веб-интерфейсов API и по мере того, как новые технологии становятся более доступными. И Vite, и новые API на уровне сервисов, такие как Build Output API от Vercel, резко снижают барьер для входа.

Смена ландшафта может быть как разрушительной, так и полезной, поскольку она приносит с собой новые архитектуры, инструменты, технологии, чемпионов, племена, возможности и проблемы. Я надеюсь, что мы продолжим находить общие основы для работы, чтобы мы могли и дальше унифицировать другие части разработки FE. Чем больше наши инструменты будут едины, тем больше мы сможем работать вместе, чтобы смягчить разрушения, приносимые каждым изменением, и принять хорошее.


Часть разработки FE, которая, как мне кажется, отчаянно нуждается в решении сегодня — это возможность создавать и распространять библиотеки пользовательского интерфейса, которые «просто работают». Я более подробно расскажу обо всем этом и о том, почему Web-компоненты еще не достигли успеха, в одной из следующих статей блога. Я также работаю над инструментарием именно в этой области, поэтому не стесняйтесь следить за моими обновлениями в Twitter.

Оцените статью
devanswers.ru
Добавить комментарий