Comments 15
Ещё одно организационное изменение:
Официальный релиз впервые состоялся до конференции. Прежде статья о новой версии и сам релиз публиковались во время конференции, примерно через 10 минут после начала.
Это, конечно, изменило планы на эту статью. Но тем не менее я решил абсолютно никак её не менять. О самом релизе будет выпущена ещё одна статья - уже после конференции!
Прочитать официальный релиз можно в блоге next.js - Next.js 15
Александр, спасибо за информативную и доступную статью! Очень понравилось, как вы подчеркнули важность работы над ошибками и улучшением производительности. Кстати, как вы думаете, какие ключевые преимущества или отличия Next.js перед Remix проявятся в будущем, учитывая последние обновления?
Спасибо за приятный комментарий!)
В общем-то всё также - разнообразием возможностей. Remix, например, всё ещё плохо работает с серверными компонентами. Да и подход next.js в этом плане сильно лучше - композиция компонент (может быть вложенность клиентский > серверный > клиентский). Ну и PPR действительно многообещающий:
Часть контента (предсобранная во время сборки, статическая) будет стримится сразу, а для части смогут показываться лоадеры. Последняя будет параллельно рендерится на сервере и начнёт стримится как только будет полностью готова. Без PPR страница начнёт стримится клиенту только когда соберётся вся целиком (и если, например, есть серверный компонент с запросами на 5 секунд - сервер ничего не отдаст эти 5 секунд).
Если next.js действительно решит вопросы со стабильностью - то remix уже мало что сможет сказать в свою пользу. Но Remix обещал много перемен после релиза стабильного React.js v19, но тут уже я деталей не знаю. Так что продолжаем наблюдать!)
Спасибо за развернутый ответ!
Эти изменения интересны, но я всё ещё сомневаюсь, стоит ли дальше работать с Next.js. Постоянные обновления и переписывание кода начинают утомлять, и хотя фреймворк мощный, порой кажется, что простые вещи можно было бы реализовать быстрее 🫠
Если честно в один момент тоже так подумал, но потом попробовал сделать проект на remix и теперь меньше жалуюсь на странность архитектуры next.js 😅
А так всему виной пересмотр фронтенда - что развивается BFF, хотелки, сложность проектов. Сейчас часто проекты существуют не просто как клиентский интерфейс с красивыми анимациями.
Например тот же блог можно сделать с next.js с ревалидацией и он будет быстрым, удобным и в общем-то простом в реализации. Альтернативы это либо SSR, либо PHP 😬 Про потребности продуктологов и маркетологов писал ниже, и это тоже играет свою роль.
Так что чем больше возможностей next.js используется в проекте, тем сильнее понимаю к чему такая широта функционала.
Ну и next.js значительно сделан американцами, где сейчас взлетает идея быстро поднять SaaS и разбогатеть - next.js старается занять и этот рынок.
Думаю, буду прощаться с Next.js, надоело тратить время на инструменты, постоянное переписывание кода. Веб сервисы давно уже можно делать проще, без умных ребят. Часть функционала нормально работает только с Vercel. Еще пытаются влиять на React.js, когда не могут нормально организовать свою работу.
Напоминает время, когда выходил Angular 2, постоянно перечитываешь весь интернет и гитхаб вместе с исходниками.
Ну это просто я решил заморочиться в этот раз. А в целом они открыты в паблик и про важные изменения пишут в своём блоге, также проводят конференции по каждому релизу.
Плюс можно пойти в твиттер и там напрямую спрашивать и девролов, и разрабов, и создателя Vercel (проще когда они делают такие твиты, за последние пару недель натыкался на 5 таких)
Вспоминаю сразу переход от /pages к /app, то сессии отвалятся, то пакеты надо откатить и тд. Просто все что вы написали как раз и отталкивает, есть много чего интересного в жизни чтобы за всем этим не следить. Любой код написанный на go, например, будет также работать через много лет.
Ну pages роутер тоже работает без изменений и ещё пару лет продержится. Просто next.js в отличии от go - инструмент для продуктологов или маркетологов. А им всегда хочется больше.
И я на самом деле вижу здесь как, например, PPR может дать супер классные возможности для маркетинга.
Серверные компоненты уже дали много возможностей. Делаешь сложную логику, а фронт всё ещё быстрый, раньше нужно было прям сильно возиться с оптимизациями. Но это конечно же не про запросы в базы, а например распарсить html строку с CMS в реакт ДОМ.
Ещё до этого очень помогли мидлвары - а/б тесты, специфичные реврайты/редиректы, базовая валидация
Ну и все остальные инструменты (тот-же remix) тоже сильно изменили свои API под серверные компоненты, просто next.js решил не расширять pages router, о дать вот такой путь для постепенного переезда.
Возможно не лучшее решение, но кто знает каково бы было обновляться если б серверные компоненты и действия завезли в Pages Router...
Ну на React.js на самом деле влияния у них немного. У меня даже есть ощущения что команда реакта обиделась на команду некста за то что они все лавры за апдейт (серверные компоненты и действия) забрали, особо не упомянув реакт и сейчас специально отдаляется. О тех же серверных компонентах команда реакта говорила ещё лет 5 назад, тогда там в общем-то никого из Vercel не было.
В Vercel работает бесполезная часть функционала - middleware в edge среде (пользы крайне скудно), удалённое кэширование (в целом можно и свой кэш провайдер использовать и будет тоже самое, но вообще тоже не много пользы). Остальное уже сахар самого хостинга - сжатия, доп конфиги, енв переменки.
Используем в работе селф-хост, ни разу не было мысли что нужно вместо этого перейти на Vercel, хотя используем next в общем-то на полную.
Спасибо за ваши посты.
Чем дальше тем больше думаю что я не успеваю разбираться со всеми нюансами фреймворка. Или что авторы плохо доносят, что и зачем нужно.
Пока что нахожусь на этапе принятия необходимости миграции на апп роутер.
Спасибо за комментарий!)
На самом деле надеюсь, что дальше релизы нормализируются - будут пореже и более надёжные. Крупных изменений или планов на них пока не видел - возможно что-то с edge поменяют (который как по мне бесполезен) и думаю ещё interceptor/middleware переделают, потому что всё ещё не выглядят как решения под все случаи.
Апп роутер неплох, уже использую в коммерческих проектах и для ряда задач удалось хорошо ускорить сайт (парсинг строк в реакт, блоки со сложными условиями, выход тысяч элементов из клиентского бандла, ну и стриминг конечно же)
Если вы дочитали эту статью - ничего нового на Keynote конференции вы, к сожалению, не увидите. Статья по конференции выйдет, но в более вольном, чем ожидалось, формате!
Next.js v15 — Что Нового (под Капотом)