Метафреймворки — это надстройки над UI-библиотеками (React, Vue, Svelte), которые решают инфраструктурные задачи: роутинг, серверный рендеринг, сборку, деплой. В 2026 году три лидера — Next.js, Nuxt и Astro — покрывают 90% сценариев. Разберём, когда какой выбирать.
Next.js: экосистема React
Самый популярный метафреймворк. Строится на React, развивается Vercel. App Router (с React Server Components) — основная модель с 2024 года. Серверные компоненты по умолчанию, клиентские — по директиве ‘use client’.
Сильные стороны: огромная экосистема, самое большое сообщество, лучшая интеграция с Vercel (деплой в один клик), ISR (Incremental Static Regeneration) для контентных сайтов, Server Actions для мутаций без API-роутов.
Слабые стороны: сложность App Router (много магии, непрозрачное кеширование), привязка к экосистеме Vercel (некоторые фичи работают лучше на их платформе), большой бандл для простых сайтов.
Nuxt: экосистема Vue
Nuxt 3 — метафреймворк для Vue 3. Nitro-движок под капотом, универсальный рендеринг (SSR, SSG, ISR, SPA — переключаются конфигом). Автоимпорт компонентов и composables — меньше boilerplate.
Сильные стороны: если команда на Vue — безальтернативный выбор. Более простая ментальная модель, чем у Next.js App Router. Отличная документация. Modules-экосистема (Nuxt Content для блогов, Nuxt Image для оптимизации, Nuxt Auth для авторизации).
Слабые стороны: экосистема Vue меньше, чем React. Меньше готовых UI-библиотек. Меньше вакансий на рынке.
Astro: контент прежде всего
Astro — принципиально другой подход. По умолчанию отдаёт статический HTML без JavaScript. Интерактивность добавляется точечно через «острова» (islands architecture): только конкретный виджет загружает JS, остальная страница — чистый HTML.
Ключевое преимущество: работает с любым UI-фреймворком. На одной странице могут жить React-компонент, Vue-виджет и Svelte-форма. Или вообще ничего — только HTML и CSS.
Сильные стороны: минимальный JavaScript на выходе (часто 0 KB JS для контентных страниц), идеальные Core Web Vitals, Content Collections для типизированного контента (Markdown, MDX), framework-agnostic.
Слабые стороны: не подходит для приложений с тяжёлой интерактивностью (дашборды, SPA). Islands architecture — мощная концепция, но менее привычная.
Когда что выбирать
| Сценарий | Рекомендация | Почему |
|---|---|---|
| SaaS-приложение | Next.js | Полноценный SSR, Server Actions, огромная экосистема React-компонентов |
| Корпоративный портал на Vue | Nuxt | Если команда уже на Vue — нет причин переходить на React |
| Блог / медиа / маркетинговый сайт | Astro | Минимальный JS, лучшая производительность, Content Collections |
| E-commerce | Next.js / Nuxt | SSR для SEO + интерактивность для каталога и корзины |
| Лендинг | Astro | Статика с точечной интерактивностью — идеальный кейс |
| Документация | Astro (Starlight) | Starlight — лучший шаблон для документации из коробки |
Astro: глубже про islands architecture
Islands architecture — ключевая концепция Astro, которая заслуживает отдельного объяснения. Представьте страницу как океан статического HTML с «островами» интерактивности. Шапка, текст статьи, футер — статический HTML, 0 KB JavaScript. Форма подписки — React-компонент, грузит JS только для себя. Интерактивная таблица — Vue-компонент, грузит свой JS.
Каждый «остров» гидрируется независимо. Директивы загрузки: client:load — грузить JS сразу (для элементов above the fold), client:idle — грузить когда браузер свободен, client:visible — грузить когда элемент попал в viewport (идеально для контента ниже первого экрана), client:media — грузить при определённом media query.
Результат: страница блога на Astro отдаёт 0 KB JS, пока пользователь не доскроллит до интерактивного виджета. Core Web Vitals — идеальные по определению. Для контентных сайтов, документации и лендингов — это архитектурное преимущество, которое невозможно повторить в Next.js или Nuxt без значительных усилий.
Выбор фреймворка — это выбор экосистемы на годы. Next.js — если ваша ставка на React. Nuxt — если на Vue. Astro — если контент и производительность важнее интерактивности. Всё остальное — вопрос предпочтений.