Remix 3 Beta: отказ от React в пользу веб-стандартов и полного стека
Remix 3 Beta — это полнофункциональный веб-фреймворк, который отходит от React и сосредотачивается на нативных веб-платформах. В отличие от предыдущих версий, он объединяет маршруты, обработчики запросов и компоненты пользовательского интерфейса в единую структуру, используя форк Preact для фронтенд

Remix 3 Beta — это полнофункциональный веб-фреймворк, который отходит от React и сосредотачивается на нативных веб-платформах. В отличие от предыдущих версий, он объединяет маршруты, обработчики запросов и компоненты пользовательского интерфейса в единую структуру, используя форк Preact для фронтенда. Это кардинальное изменение подхода, которое подчеркивает владение сервером жизненным циклом запроса. Разработчики, знакомые с React, найдут много знакомого, но философия фреймворка теперь принципиально иная: приоритет отдаётся стандартам веба, а не библиотеке от Meta.
Remix 3: новый подход к разработке
Remix 3 Beta отказывается от React в пользу веб-стандартов, что делает его полнофункциональным фреймворком. Он интегрирует маршруты, обработчики запросов и UI-компоненты в единую структуру, используя форк Preact для фронтенда. Это позволяет разработчикам создавать приложения, которые полностью контролируются сервером. В отличие от традиционных SPA, где клиент берёт на себя большую часть логики, Remix 3 возвращает контроль серверу, что улучшает производительность и безопасность. Фреймворк использует нативные веб-API, такие как Fetch и Streams, что делает его более лёгким и быстрым.
Почему Remix 3 отказался от React?
Remix изначально был создан как фреймворк на основе React, но со временем разработчики поняли, что React не всегда является лучшим выбором для серверного рендеринга. Remix 3 Beta является ответом на потребность в более производительном и стандартизированном подходе. Использование Preact вместо React позволяет уменьшить размер бандла и улучшить производительность. Preact — это минималистичная альтернатива React, которая полностью совместима с его API, но весит всего около 3 КБ. Remix 3 использует форк Preact, оптимизированный для серверного рендеринга, что даёт значительный прирост скорости. Кроме того, отказ от React снижает зависимость от сторонней библиотеки и позволяет фреймворку развиваться независимо.
Предыстория и контекст
Remix изначально был создан как фреймворк на основе React, но со временем разработчики поняли, что React не всегда является лучшим выбором для серверного рендеринга. Remix 3 Beta является ответом на потребность в более производительном и стандартизированном подходе. Использование Preact вместо React позволяет уменьшить размер бандла и улучшить производительность. Фреймворк также активно использует веб-стандарты, такие как Fetch API и Web Streams, что делает его более современным и гибким. Remix 3 Beta — это не просто обновление, а переосмысление архитектуры веб-приложений.
Чем Remix 3 отличается от предыдущих версий?
Remix 3 Beta отличается от Remix 2 тем, что полностью уходит от React. Вместо этого он использует форк Preact, который легче и быстрее. Кроме того, Remix 3 делает акцент на серверной обработке запросов, что позволяет улучшить производительность и безопасность. Миграция с Remix 2 не является простой и требует значительных изменений в существующих приложениях. В Remix 3 маршруты, обработчики и компоненты объединены в единую структуру, что упрощает разработку, но требует переосмысления привычных паттернов. Например, теперь весь жизненный цикл запроса управляется сервером, а клиент только отображает готовые данные.
Технические подробности
Remix 3 Beta использует форк Preact, который совместим с React API, но имеет меньший размер. Фреймворк объединяет маршруты, обработчики запросов и UI-компоненты в одну структуру, что упрощает разработку. Жизненный цикл запроса полностью контролируется сервером, что повышает производительность и безопасность. Remix 3 также поддерживает веб-стандарты, такие как Fetch API и Web Streams. Это означает, что разработчики могут использовать нативные возможности браузера без дополнительных абстракций. Например, для загрузки данных можно использовать обычный fetch, а для стриминга — ReadableStream. Фреймворк также поддерживает серверные компоненты, которые выполняются только на сервере и не отправляются клиенту.
Какие преимущества даёт использование Preact вместо React?
Preact — это лёгкая альтернатива React, которая весит всего 3 КБ по сравнению с 40 КБ у React. Это уменьшает размер бандла и ускоряет загрузку страницы. Preact полностью совместим с React API, поэтому разработчики могут использовать знакомые инструменты и библиотеки. В Remix 3 используется форк Preact, оптимизированный для серверного рендеринга, что даёт дополнительный прирост производительности. Кроме того, Preact не имеет сложной системы согласования (reconciliation), что упрощает отладку и уменьшает потребление памяти.
Кого затронет и как
Remix 3 Beta затронет разработчиков, которые используют React для серверного рендеринга. Для них миграция потребует переписывания существующего кода. Однако новый подход может улучшить производительность и упростить разработку. Бизнес может выиграть от более быстрых и безопасных приложений. В российском контексте Remix 3 может быть интересен разработчикам, которые ищут альтернативы React. Особенно это актуально для стартапов и небольших команд, которые хотят снизить зависимость от крупных библиотек. Remix 3 также может быть полезен для проектов, где важна производительность, например, для интернет-магазинов или новостных порталов.
Какие риски связаны с переходом на Remix 3?
Remix 3 Beta находится на ранней стадии, и разработчикам рекомендуется тестировать его на новых проектах. Ожидается, что финальная версия выйдет в ближайшие месяцы. В будущем Remix может стать популярным выбором для создания производительных веб-приложений, особенно в сочетании с веб-стандартами. Однако миграция с Remix 2 может быть сложной и потребовать значительных усилий. Кроме того, экосистема Preact меньше, чем у React, что может ограничить доступность сторонних библиотек. Разработчикам стоит взвесить все за и против, прежде чем переходить на новую версию.
Что будет дальше
Remix 3 Beta находится на ранней стадии, и разработчикам рекомендуется тестировать его на новых проектах. Ожидается, что финальная версия выйдет в ближайшие месяцы. В будущем Remix может стать популярным выбором для создания производительных веб-приложений, особенно в сочетании с веб-стандартами. Команда Remix активно работает над улучшением документации и инструментов миграции. Также ожидается, что сообщество создаст множество плагинов и интеграций для Remix 3. Если вы ищете современный фреймворк с акцентом на производительность и стандарты, Remix 3 стоит изучить.
Итог
Remix 3 Beta представляет собой значительный шаг вперед в веб-разработке, отказываясь от React в пользу веб-стандартов. Этот подход может улучшить производительность и безопасность приложений. Разработчикам стоит следить за развитием Remix 3, особенно если они ищут альтернативы существующим фреймворкам. Remix 3 Beta — это не просто обновление, а новая философия, которая ставит во главу угла нативные возможности веба. Если вы готовы экспериментировать, попробуйте Remix 3 в новом проекте и оцените его преимущества.