11.9 C
Москва
Четверг, 3 апреля, 2025

Что нужно знать, прежде чем выбрать Next.js — разобрал инженер Netlify — Tproger

Next.js тесно связан с Vercel и ограничен в хостинге вне их платформы — инженер Netlify объяснил, что важно знать перед выбором

Разработчик Эдуардо Бошас, инженер Netlify, опубликовал разбор, в котором рассказал, почему Next.js — не такой уж независимый open-source фреймворк, как кажется.

Он не пытается никого отговаривать, но предупреждает: перед тем как выбрать Next.js для проекта, стоит разобраться, с чем вы связываетесь.

Главный тезис: хотя Next.js формально открыт, он тесно привязан к инфраструктуре Vercel — компании, которая его создала и развивает. И если вы захотите использовать его где-то еще, готовьтесь к сюрпризам.

Нет адаптеров — значит, нет свободы

В отличие от Astro, SvelteKit, Nuxt или Remix, Next.js не поддерживает адаптеры, позволяющие хостить проект на разных платформах. У него — собственный недокументированный формат вывода, с которым умеет работать только Vercel.

🔥 Хакеры нашли способ сделать платные обновления Windows 10 после 2025 года бесплатнымиtproger.ru

Vercel три года назад анонсировала Build Output API, якобы для стандартизации. Но сам Next.js этот стандарт до сих пор не поддерживает, несмотря на обещания внедрить его в версии 15.0.

А это значит, что другие провайдеры вынуждены работать вслепую, зная, что фреймворк может внезапно что-то сломать даже в минорном обновлении.

Serverless только на словах

Документация Next.js хвалит serverless-подход за масштабируемость и экономию. Vercel так и работает.

Читать также:
Cloudflare стерла в порошок патентных троллей — Tproger

Но официального serverless-режима в Next.js больше нет — его убрали еще в 2022 году. Документации по развертыванию на стороннем serverless-хостинге тоже нет. Если вы хотите это реализовать — готовьтесь к реверс-инжинирингу.

Приватные фишки для Vercel

В Next.js есть скрытые режимы работы, которые активируются только при деплое на Vercel.

Например, minimal mode — он позволяет исполнять middleware на edge-инфраструктуре, раньше кэша, что критично для A/B-тестов, фич-флагов и авторизации. Все остальные провайдеры до этой функции не допущены.

Netlify смогла реализовать поддержку middleware на edge, но только благодаря отдельной команде, которая буквально вскрыла внутренности фреймворка. У большинства компаний на такое просто нет ресурсов.

А потом — инцидент с безопасностью

В марте в Next.js нашли критическую уязвимость, позволяющую обойти middleware и получить доступ к закрытым данным. Vercel узнала об этом 27 февраля, исправила баг к 14 марта — но сообщила другим хостингам только через восемь дней.

Почему As Code — это не просто тренд, а новая реальность разработкиtproger.ru

За это время они успели выкатить релиз, написать блог-пост и похвастаться, что их фаервол «защитил» пользователей — что позже оказалось неправдой.

Вывод: если вы запускаете сайт на Vercel — скорее всего, проблем не будет. Но если хотите независимости, масштабируемости и переносимости — Next.js пока к этому не готов.

По словам Бошаса, он по-прежнему надеется, что фреймворк станет более открытым благодаря инициативе OpenNext. Но пока этого не случилось, выбор стоит делать с открытыми глазами.

НОВОЕ НА САЙТЕ