Обновление App Router в Next.js

June 22, 2023
Обновление App Router в Next.js

App Router представляет новую основу для будущего Next.js, но команда признаёт, что есть возможности для улучшения. В предстоящих релизах Next.js они сосредоточатся на следующих направлениях:

A developer is sitting at a desk with multiple monitors.

  • Улучшение производительности: повышение скорости локальной разработки, уменьшение времени сборки и оптимизация производительности серверлесс-функций.
  • Повышение стабильности: активное исправление ошибок и повышение надежности App Router.
  • Улучшение обучения разработчиков: обновление документации и предоставление новых учебных материалов.

App Router был разработан с целью преодоления ограничений Pages Router и для лучшей интеграции с современными возможностями React, такими как стриминг, Server Components и Suspense. Команда стремится обеспечить инкрементальное внедрение, позволяя разработчикам постепенно мигрировать свои приложения на App Router без полной переработки и с возможностью отката при необходимости.

Путь к стабильности включал выпуск RFC, бета-версии и, наконец, стабильного API в версии 13.4. Однако команда признаёт, что еще не полностью удовлетворена текущим опытом использования App Router и делает его улучшение своим главным приоритетом.

Улучшение производительности включает:

A visual representation of React Server Components (RSC) in App Router

  • Локальная производительность: замена webpack на Turbopack для более быстрой компиляции и обновления модулей. Turbopack доступен в бета-версии:
next dev --turbo
  • Производительность сборки: работа над поддержкой Turbopack для продакшен-сборок:
next build --turbo
  • Производительность в продакшене: оптимизация функций Vercel для уменьшения холодных стартов и улучшения использования памяти.

Повышение стабильности достигается за счет активного исправления ошибок и тесного взаимодействия с сообществом. В последних обновлениях (например, в версии 13.4.7) уже исправлены значимые проблемы.

Улучшение обучения разработчиков включает:

  • Обновление документации: полная переработка документации на nextjs.org/docs с улучшенной структурой и наглядными иллюстрациями. Добавлена возможность переключения между документацией для Pages Router и App Router.
  • Дополнительные ресурсы: планируется выпуск новых учебных материалов, включая обновленный курс и примеры реальных проектов, таких как переписанная версия Next.js Commerce.
  • Обучение новым возможностям React: предоставление разъяснений по Server Components, Client Components и другим современным концепциям React. Команда признаёт необходимость в дополнительном образовании по этим темам и работает над этим совместно с сообществом React.
  • Развитие экосистемы: поддержка и интеграция с внешними библиотеками, такими как Panda CSS, которые начинают поддерживать новые возможности React.
  • Server Actions (Альфа): новая функция для серверных мутаций данных, которая пока не рекомендуется для использования в продакшене, но открыта для обратной связи от разработчиков.

Authors of the original post: Delba de Oliveira, Lee Robinson

Go to all posts