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:
| Параметр | Astro | Next.js (App Router) |
|---|---|---|
| JS на главной (gzip) | 15–40 КБ | 80–150 КБ |
| LCP на 4G | 0.8–1.4 с | 1.5–2.8 с |
| Lighthouse Performance | 95–100 | 75–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.