Слогер Создать блог
Разработка

Astro Server Islands: Как сохранить скорость страницы, не жертвуя интерактивностью

Большинству контентных сайтов не нужен полноценный SPA. Astro Server Islands позволяют отдавать быстрый HTML и добавлять интерактивные элементы только там, где это действительно необходимо.

Большинство контентных сайтов не нуждаются в полноценном одностраничном приложении. Им нужен быстрый HTML, а затем небольшое количество JavaScript для каруселей, комментариев или фильтров. Именно для этого и предназначены Astro Server Islands.

Astro по умолчанию генерирует статический HTML. Интерактивные компоненты становятся «островками», которые гидратируются только по запросу. Остальная часть страницы остаётся лёгкой, что положительно сказывается на LCP, FCP и Core Web Vitals.

Как работают Server Islands

Представьте страницу как набор статических зон с несколькими интерактивными компонентами:

  • Статический контент рендерится на сервере и доставляется как HTML.
  • Каждый «островок» — это изолированный интерактивный компонент.
  • JavaScript загружается только для этих компонентов.
  • Время гидратации контролируется с помощью клиентских директив.

Полезные директивы:

  • client:load — гидратация после загрузки страницы (чат, кнопки «поделиться», «лайк»).
  • client:idle — гидратация, когда браузер бездействует.
  • client:visible — гидратация, когда компонент появляется в области просмотра (карусели, виджеты ниже сгиба).
  • client:only — рендеринг только на клиенте.

Правило: используйте client:load для UI, который должен работать сразу после загрузки страницы. Для всего остального — client:visible.

Связка Astro с headless CMS

Astro отлично справляется с доставкой контента, а headless CMS — с управлением контентом. С BCMS вы получаете шаблоны (типы контента), записи (посты), медиа и типизированный контент, который ваш фронтенд может загружать без необходимости хранить Markdown в репозитории для каждого редактирования.

Такое разделение важно: редакторы обновляют контент в дашборде, разработчики сохраняют свободу выбора фреймворка. Сайт при этом по-прежнему отдаёт в основном статический HTML.

Практическая настройка

Начните со стартового шаблона BCMS Astro:

npx @thebcms/cli create astro starter simple-blog

После входа в систему и указания имени проекта:

cd your-project && npm install && npm run dev

В BCMS:

  • Шаблоны определяют структуру записи блога.
  • Записи — это сами посты.
  • Перезапустите приложение Astro после изменений модели контента, чтобы обновились типы и данные.

Добавляем «островок»: карусель изображений

Типичный пример:

  • Установите Vue-карусель (стартовые шаблоны Astro часто уже включают Vue).
  • Добавьте медиа-поле в шаблон блога в BCMS.
  • Создайте Vue-компонент, который принимает коллекцию медиа как пропс.
  • Выведите его на странице блога с директивами client:load или client:visible.

В качестве запасного варианта используйте обложку, если поле карусели пусто. Это гарантирует, что страница останется полезной, даже если редакторы пропустят опциональные медиа.

Продакшн-режим

Используйте npm run build, затем раздавайте папку dist. Посетители получат HTML без ожидания обращения к базе данных для каждой загрузки страницы. Вы сохраняете интерактивность только там, где она оправдана.

По материалам: dev.to. Текст переработан редакцией Слогера.

← На главную

Рекламное место — Конец поста
Реклама · Слогер

Комментарии (2)

Войдите, чтобы комментировать.

Aya Hany 27.08.2026 21:39 ▲ 0
Мне понравилась идея использовать Server Islands для точечной интерактивности: страница остаётся быстрой, а JavaScript подключается только там, где он действительно нужен. Особенно полезным показался пример с client:visible для компонентов ниже первого экрана.
minarrrrr 28.08.2026 18:18 ▲ 0
This is a useful overview of building modern SaaS dashboards with React 19, Vite, and Tailwind CSS. I especially like the focus on reusable dashboard structures, built-in applications, RTL support, and dark mode, as these features can make a template much more practical for real-world projects.
Маркетинг

Как запустить продукт на маленькой базе подписчиков: 5 писем, которые продают без фальшивого дефицита

Одно письмо-анонс почти никогда ничего не продаёт — даже на списке из 40 человек. Разбираем пятидневный ритм рассылки, где каждое письмо решает свою задачу, и даём готовый шаблон последнего письма.

Слогер 28.10.2026 ▲ 1
Разработка

Как выгрузить вакансии и зарплатные вилки из Greenhouse API: разбор подводных камней

Любая доска Greenhouse отдаётся публичным JSON без ключа — целиком, одним ответом. Но чтобы данные были пригодны, нужно знать пять вещей про флаги, экранирование и двойной счёт вакансий.

Слогер 28.10.2026 ▲ 0
Fluxs lenta
Реклама · fluxs.ru
Маркетинг

Переезд (миграция) с Битрикс24 и amoCRM без потери данных: в Fluxs появился модуль миграции

4 000 контактов в Битрикс24. Сотни сделок. Задачи за несколько лет. И всё это нужно перенести в новую CRM? Раньше такой переезд мог занять несколько дней. А иногда именно из-за переноса данных компании годами оставались в неудобной системе. Мы решили эту проблему. 🚀 В Fluxs появился модуль «Миграция данных». Теперь можно переносить контакты, сделки, задачи, проекты и базу знаний из Битрикс24, amoCRM, Jira, Яндекс Трекера и Confluence. А если вашей системы нет в списке — загрузить данные через Excel, CSV или JSON.

fluxs.ru 27.10.2026 ▲ 1
Карьера

Чем Cal-WARN отличается от федерального WARN: разбор порогов, уведомлений и штрафов

Калифорния требует предупреждать о массовых сокращениях за 60 дней — как и федеральный закон США. Только порог ниже, парт-тайм считается, а правило одной трети не действует. Разбираем, что это меняет для работника и работодателя.

Слогер 27.10.2026 ▲ 0
Карьера

WARN Act: кто считается работодателем при массовом сокращении — разбор для дочек, холдингов и франшиз

По американскому закону уведомление за 60 дней обязан дать только работодатель. Разбираем, как регуляторы решают, какое юрлицо им является, и что делать, если в бумаге стоит незнакомая компания.

Слогер 27.10.2026 ▲ 0
Разработка

Разбор: почему профессию разработчика хоронят каждые 20 лет и как работать, когда всё меняется

Паника вокруг ИИ — не первая волна перемен в отрасли: похожие прогнозы звучали и в 1961 году, и в 2011-м. Разбираем, что в нынешней тревоге реально, а что стоит воспринимать как фоновый шум.

Слогер 27.10.2026 ▲ 0
Fluxs lenta
Реклама · fluxs.ru
Карьера

Страх провала и страх свидетелей: чем они отличаются и как начинать новое, когда страшно

«Я пока недостаточно хорош» — честная и бесполезная фраза. Обычно дело не в навыке, а в конкретных людях, которые увидят вашу первую попытку. Разбираем, как уменьшить ставку и всё-таки начать.

Слогер 26.10.2026 ▲ 0
Карьера

Почему удалёнка платит меньше — и в каких профессиях всё наоборот: разбор 8 049 вакансий

Медианная вилка на удалёнке ниже офисной на 6,5%. Но внутри функций разрыв меняет знак: безопасность и продажи получают премию за удалёнку, data/ML — самую большую скидку. Показываю, как читать эти цифры на переговорах.

Слогер 26.10.2026 ▲ 0
Личный опыт

Как заказать командную вышивку без минимальной партии: разбор и чек-лист

Малая команда редко может позволить себе стартовый тираж на 30 вещей. Разбираем схему, при которой вышивка делается по одной штуке — и при этом логотип у всех выглядит одинаково.

Слогер 26.10.2026 ▲ 0
Маркетинг

Автоматизация бизнеса за 15 000 или 170 000 рублей в год: в чём разница?

Автоматизация бизнеса за 15 000 или 170 000 ₽ в год. За что такая разница? 🤔 Представьте: компании нужно всего несколько вещей — принимать заявки, согласовывать счета и контролировать задачи сотрудников. А ей предлагают целую цифровую экосистему: CRM, телефонию, маркетинг, аналитику, десятки дополнительных функций… Но что, если половина из этого бизнесу вообще не нужна?

Слогер 25.10.2026 ▲ 1
Fluxs lenta
Реклама · fluxs.ru