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