Next.js — не лучший фреймворк. Это самая надежная ставка.
Next.js — самый используемый React-фреймворк. Но он же и один из самых ненавистных.
Опросы показывают, что уровень использования высок, но удовлетворенность падает. Люди жалуются на сложность и App Router. Говорят, что он перегружен или заставляет использовать Vercel.
В этом есть доля правды. Но большая часть — нет.
Большинство выбирает не тот инструмент или борется с тем, как этот инструмент работает. А затем винит инструмент.
Я годами строю проекты на Next.js. Я использовал его для платформ, где ошибки стоят реальных денег. Вот мой взгляд на вещи.
Next.js — не лучший фреймворк. Это самая надежная ставка. И это две разные вещи.
Реальным проектам нужно многое. Вам нужен контентный сайт, но также нужны панели управления, превью для редакторов и возможность масштабного расширения.
Другие фреймворки выигрывают в узких задачах:
- Astro отлично подходит для статических сайтов.
- SvelteKit превосходен с точки зрения опыта разработчика и легковесности результата.
Но Next.js побеждает, когда требования становятся сложными.
Он предлагает встроенные функции, которые иначе пришлось бы создавать самостоятельно:
- Incremental Static Regeneration для обновления страниц без полной пересборки.
- Draft Mode для удобного предпросмотра редакционных материалов.
- Edge runtime для быстрого middleware и аутентификации.
- Streaming и Suspense для работы с медленными данными.
- Server Actions для выполнения логики без отдельного API.
У него также огромная «гравитация». Он базируется на React. Объем обучающих данных для моделей ИИ колоссален. Когда вы используете ИИ для написания кода на Next.js, он работает лучше, потому что паттерны встречаются повсюду.
Компромиссы реальны. О них стоит знать:
- Он очень диктует свои правила (highly opinionated). Если вам не нужны его подходы, вы будете с ним бороться.
- Проблемой была переносимость. Долгое время уйти от Vercel было сложно.
- Переход на App Router был запутанным и хаотичным.
Урок таков: выбор Next.js — это решение «ва-банк».
Если вы уважаете фреймворк и используете его так, как задумано, он несет вас вперед. Если вы пытаетесь заставить его работать вопреки его логике, вы платите постоянный «налог».
Однажды я видел команду, которая построила кастомную архитектуру, нарушающую правила роутинга Next.js. Они приняли здравое инженерное решение, но оно вошло в конфликт с фреймворком. Они потратили месяцы на написание обходных путей для таких вещей, как SEO и ссылки.
Проблема была не во фреймворке. Проблема была в несоответствии.
Если вы строите что-то сложное, что должно прослужить годы, Next.js — это ставка, которая проигрывает реже всего. Используйте его по назначению.
Source: https://dev.to/fredcorr/nextjs-isnt-the-best-framework-its-the-most-reliable-bet-5e2c
