26 октября на Next.js Conf вышла версия 14. Главное событие - Server Actions перешли в stable. Мы уже неделю работаем на новой версии и делимся первыми ощущениями.
Что важного в релизе
- Server Actions - stable. Можно использовать в проде без оговорок.
- Partial Prerendering - экспериментально, но обещание интересное: статика плюс стримящийся динамический контент в одном запросе.
- Turbopack - заявлен как 53% быстрее на dev-старте, мы пока не замерили в полевых условиях.
- next/image - оптимизации памяти и форматов.
Server Actions: что это меняет
До Server Actions любая мутация требовала: API-routes, fetch на клиенте, manual loading state, обработка ошибок, инвалидация кэша. С Server Actions - функция с 'use server', вызов прямо из формы, всё остальное Next делает сам.
Как мы переписываем формы
Раньше типичная форма содержала 80–120 строк: state hooks, fetch, error handling, optimistic update. Server Action + useFormState + useFormStatus сжимают это до 30–40 строк. На дашборде с 24 формами мы удалили 1700 строк кода за два дня переписки.
Где Server Actions всё ещё рискованы
- Сложные multi-step flows с state-машиной - пока удобнее на клиенте.
- Optimistic updates с откатом по ошибке - useOptimistic решает, но требует привыкания.
- Файловые загрузки больших размеров - лимиты на edge-runtime могут укусить.
- Авторизация - middleware всё ещё нужен, в action её делать неудобно.
Что мы планируем
Все новые проекты - на Next.js 14 + Server Actions. Существующие на 13 - мигрируем при следующем большом изменении функциональности, не отдельно. Partial Prerendering пока трогаем только на R&D-проекте - посмотрим, доедет ли до stable к началу 2024-го.