Comments 18
Полгода назад начал делать проект на Next.js и мне пришлось использовать Pages Router, т.к. библиотеки толком не поддерживали App Router, но я понимал на что шел, теперь нужно как-то мигрировать все. С разворачиванием проблем особо не было, засунул в докер. Но например, у библиотеки NextAuth.js часть функционала работает только в Vercel. Теперь еще собираются переделать сам React. Иногда кажется, что лучше бы они не креативили так активно и не соревновались между собой. С Remix'ом не знаком , но рассматривал также Gatsby.js.
Где я только не разворачивал NextJS, но ни разу никаких проблем не было.. Vercel не пользовался ни разу. Про OpenNext впервые услышал в этой статье. Интересно, что я делаю не так..
А что можно было ожидать от одного из членов Remix? Медиа борьба с конкурентами не более.
Есть три разных энва: дев, стейдж и прод. Работают в кубе. Для всех троих нужны разные наборы переменных окружения. Next.js требует, чтобы все переменные окружения были определены на билд тайме. Как не билдить три разных докер образа?
Вариант типа "билдить в docker-entrypoint" не предлагать - это хрень
Я всегда с опаской относился к компании Meta*, поэтому тот факт, что ей принадлежит React, тоже меня беспокоил. А поскольку в Vercel наняли многих членов команды React, то и здесь ситуация для меня не особо отличалась. С тех пор команда React стала намного менее дружной.
*Meta запрещена в России как экстремистская.
По моему автор хотел сказать не то, что сказано под звездочкой. А нахождение этих фраз близко несколько деформирует авторскую мысль об его личных опасениях...
Может ритуальную фразу спустить вниз топика?
Единственное, с чем соглашусь - каждый специалист может и должен использовать тот инструментарий, который концептуально укладывается в его голове.
С одной стороны согласен, стабильность next.js и vercel это грусть.
С другой... Глядя на то в какого монстра remix умудрились превратить библиотеку роутинга, которая теперь и данные тащит, и ошибки обрабатывает, и формы отправляет... Спичи о сокращении API уже не вызывают такого доверия.
Я когда то пилил проектына реакте + експресс.
Сегодня пилю на nest.js бэк, под фронт на реакте который пилится другими людьми.
Для чего конкретно придуман Next.JS?
Теперь, видимо, для всего -_-
Это фреймворк, который у нас является основным и любимым. Если кратно, то это удобный React подход к написанию приложений с дополнительными фишками + свой сервер на Node под капотом, который помимо рендеринга на своей стороне умеет много чего (что не обязательно писать на бэкенде)
Вкратце: для SEO
Магия в Next действительно вызывает большие опасения, так же как и тесная работа с Vercel.
Все остальные тейки как по мне требуют дополнительного пояснения хоть и являются субъективным мнением.
Возможно есть проблема с менеджментом и релизным циклом у Next, у меня складывается такое ощущение что они куда то спешат и торопятся, выпуская различные апдейты буквально один за одним. Либо хотят быть на волне хайпа.
Начало осознание проблемы это путь к выздоровлению. Осталось написать статью, почему я никогда не буду использовать js:)
Next.js, unlike Remix or Astro, doesn't have a way to self-host using serverless
Next.js, в отличие от Remix или Astro, не может работать без стороннего сервера
Сравните оригинал цитат с переводом, хотя бы по смыслу
Самый большой плюс nextjs - Fullstack разработка. Многие компании спускают бюджеты на Backend/Frontend разработку на разных языках. С Server actions вам нужна одна команда, один стек. Вам не нужен redux, чтобы дублировать стейт на клиенте. Можно вызвать Server action и router.refresh(). Очень много кода просто не нужно писать, если вы пишете Fullstack приложение на nextjs. Ни за что не агитирую, если вам нравится реактивщина redux, два языка и Backed/Frontend. Но с nextjs можно писать намного проще.
Это что-то вроде laravel + Blade или любой другой фреймверк с шаблонищатором? Вроде ж как давно разработка идет в сторону от монолитов.
А тут же выходит так что бекенд и фронтенд завязаны друг на друге по самое немогу, и если появится потребность заменить либо фронтенд либо бекенд то это не выйдет, надо буде переписывать полностью все
Или может я не так понимаю концепцию Next.js?
Почему я не буду использовать Next.js