О Next.js 15 писали в основном в жанре «революция». Дальше – без этого. Разберем, что именно изменилось в релизе, какие изменения ломают рабочий код молча, и как за пол часа проверить, получает ли ваш проект вообще из новой версии что-то, кроме номера в package.json.
Turbopack: скорее, но не там, где вы думаете
Turbopack получил стабильный статус для next dev – это зафиксировано в официальных release notes Next.js. Вместо полной перестройки графа модулей после каждой правки он перебирает только то, что изменилось, и держит результат в памяти между сборниками.
Как быстрее станет лично у вас – зависит от количества модулей, глубины импортов, набора CSS-обработчиков и скорости диска. Сравнительной таблицы «было/столо» здесь не будет: цифры с чужого ноутбука на чужом проекте ничего не говорят о вашем. Замерьте сами - time перед запуском dev-сервера, затем переключите флажок и повторите на том же коде.
И главное, о чем обычно молчат. Скорость dev-сервера не имеет никакого отношения к тому, как скоро сайт откроется у посетителя. Turbopack работает на вашей машине при разработке. Посетитель видит продакшн-сборник, отданный с сервера в другой стране, по мобильной сети, на телефоне пятилетней давности. Это два разных мира, и ускорение первого не улучшает второй ни на миллисекунду.
Что действительно влияет на скорость у посетителя
Между щелчком и появлением контента человек не видит ничего. Чем длиннее эта пауза, тем большая часть людей закрывает вкладку — и эти люди не увидят ни товара, ни цены, ни формы. Скорость не продает. Она определяет, скольким людям ваше предложение вообще покажут.
Технически здесь два рычага: TTFB (время до первого байта – кэширование, запросы к базе, настройка сервера) и вес HTML, который браузер должен загрузить в первый рендер. Next.js помогает с обоими, но работу за вас не делает.
Наши замеры на живых сайтах сделаны внешне через curl 31.07.2026:
- корпоративный одностраничный сайт консалтинговой компании на Next.js - TTFB 254 мс, полный документ за 342,6 мс, HTML 102,1 КБ;
- SaaS-платформа для рерайта описаний товаров – TTFB 220,6 мс при 141 КБ HTML.
Это наше измерение, и это состояние сервера, а не бизнес-показатель клиента. Честный предел здесь таков: TTFB – только серверная часть. Полное время до интерактивности у настоящего посетителя зависит еще от его устройства, сети, веса картинок и посторонних скриптов, которые подключили уже после нашего замера. И еще важнее: сайт, открывающийся за 200 мс, просто быстрее покажет человеку причину уйти, если цена выше рынка или товара нет налицо. Скорость убирает техническую утрату. Спроса она не создает.
Кэширование: fetch больше не кэшируется по умолчанию
Самая тихая смена релиза. У Next.js 14 результат fetch() по умолчанию кэшировался, у 15-й – нет. То же с GET-обработчиками в Route Handlers и с клиентским кэшем роутера.
Ломается это без ошибок. Код работает, тесты проходят, а сервер начинает ходить в API по каждому запросу вместо одного раза в минуту. Замечают обычно по счету от хостинга или по TTFB, выросшему втрое после обновления.
Что делать при миграции: пройтись по всем fetch() в серверных компонентах и проставить намерение явно.




