Qaynaq STUDIO ’26 / BAKU
Salam Hello Привет
Журнал ИНЖЕНЕРИЯ

Astro vs Next.js — что выбрать для сайта малого бизнеса?

Честные критерии выбора между двумя фреймворками. Почему этот сайт на Astro — и почему это не ответ для каждого проекта.

Astro или Next.js — самый частый технический вопрос, который мне задают предприниматели в Баку, когда уже наслушались разных мнений в Telegram-чатах. Оба фреймворка хороши, у обоих внушительные имена в нише. Но они отвечают на разные вопросы. Если ваш ответ — «контентный сайт», это Astro. Если «приложение в браузере» — Next.js. Если «не уверен» — читайте дальше.

Кратко: что это такое

Astro — фреймворк для контентных сайтов. По умолчанию страница строится в HTML заранее, JavaScript отдаётся только там, где нужна интерактивность. Это значит: ноль JS на главной, на странице кейса, на странице услуг. Браузер получает HTML, рендерит мгновенно.

Next.js — фреймворк для React-приложений. Каждый компонент — React, гидратация, серверный рендер, клиентская навигация. Это значит: больше функциональности «из коробки», но больше JavaScript у пользователя.

Astro по архитектуре ближе к Hugo/Eleventy. Next.js — ближе к Remix и TanStack Start. Это не про «новее или старее», это про разные ответы на разные задачи.

Реальная разница в цифрах

Сравнение на типичной странице услуг для бакинского SMB:

ПараметрAstroNext.js (App Router)
JS на главной (gzip)15–40 КБ80–150 КБ
LCP на 4G0.8–1.4 с1.5–2.8 с
Lighthouse Performance95–10075–90
Время сборки 50 страниц3–6 с15–35 с
Сложность кода для разработчиканизкаясредняя-высокая

На бакинской мобильной сети в час пик разница между 0.8 с и 2.8 с — это разница между «открылось мгновенно» и «человек ушёл».

Когда Astro — правильный ответ

Сигналы:

  • Сайт статический по природе: главная, услуги, кейсы, блог, контакты. Контент меняется раз-два в месяц.
  • Главное требование — скорость загрузки и SEO.
  • Интерактивные части — это небольшие виджеты: форма обратной связи, фильтр в каталоге, виджет калькулятора. Не приложение целиком.
  • Контент пишет один технический автор, использует Markdown/MDX.
  • Нужна многоязычность с hreflang, JSON-LD, canonical — Astro это делает из коробки.

Этот сайт — Qaynaq.com — на Astro. Подробнее в отдельной статье.

Когда Next.js — правильный ответ

  • Сайт = приложение в браузере: личный кабинет, дашборд, сложная корзина, реалтайм-данные.
  • Большая часть страниц требует авторизации, динамические маршруты, серверная логика.
  • Команда сильна в React и хочет один стек на сайт + продукт.
  • Нужны сложные интеракции: drag-and-drop, реалтайм-обновления, форма с условной логикой на 30 полей.
  • Сайт интегрирован с продуктом (например, веб-приложение SaaS в одном кодовом базе).

Для большинства SaaS-проектов Next.js — стандартный выбор. Не Astro.

Частый миф: «Astro не умеет динамику»

Умеет. Astro поддерживает острова — изолированные React/Svelte/Vue-компоненты на статической странице. На странице карьеры есть форма с валидацией — это React-остров. На главной есть калькулятор стоимости — это Solid-остров. Остальная часть страницы остаётся ноль-JS.

Это лучшее из двух миров: статическая скорость + точечная интерактивность.

Частый миф: «Next.js можно сделать быстрым»

Можно. Но это отдельная инженерная работа. По умолчанию приложение Next.js привозит к пользователю ~80 КБ JS, плюс RSC-payload, плюс ваш код. Чтобы сделать его таким же быстрым, как Astro, нужно:

  • Использовать generateStaticParams и ISR агрессивно.
  • Минимизировать клиентские компоненты, оставлять серверные.
  • Чистить bundle от лишних зависимостей.
  • Лениво грузить всё, что можно.

Это работа на 2–4 человеко-недели на средний проект. Для малого бизнеса в Баку — это уже сравнимо со стоимостью переделки на Astro с нуля.

Хостинг и deploy

Astro деплоится куда угодно: Vercel, Netlify, Cloudflare Pages, GitHub Pages, любой статический хостинг. Можно положить на ANS Hosting за 4 ₼/месяц — будет работать.

Next.js технически тоже деплоится в разные места, но оптимально работает на Vercel. На других хостингах часть фишек отваливается (ISR, edge-функции, image optimization). Если нужна полная функциональность — Vercel, $20+/месяц.

Это не «вендор-лок плохой». Это констатация: цена и удобство.

Что выбрать — практическая матрица

Ваша ситуацияВыбор
Контентный корпоративный сайтAstro
Сайт + блог + кейсыAstro
Маркетинговый сайт SaaS-продуктаAstro
Веб-приложение с авторизациейNext.js
Сложный e-commerce с фильтрамиNext.js (или Astro + Snipcart)
Дашборд для внутреннего использованияNext.js
Сайт + продукт в одной кодовой базеNext.js
Сайт с целью Lighthouse 95+Astro

И главное: это инструмент, а не идеология

Я регулярно встречаю команды, которые «выбрали Next.js потому что популярно» — и потом два года борются с гидратацией для сайта, который мог бы быть на Astro и работать в три раза быстрее. И встречаю команды, которые «выбрали Astro потому что модно» — и потом упираются в потолок, потому что им нужен был полный SPA.

Не выбирайте по моде. Выбирайте по тому, что строите.

В Qaynaq мы работаем и с Astro, и с Next.js — выбор делается на установочной встрече по тому, какой ответ требует проект, а не по тому, в каком фреймворке у нас больше опыта. Если хотите обсудить ваш случай — salam@qaynaq.com.