Product / Full stack / Урок 03

Svelte 5 frontend

Собираем быстрые публичные страницы и интерактивные зоны приложения.

Видео · 1:04Материалы · 12 минутРусскийОбновлён 02 августа 2026
Для кого
Frontend-разработчики, которым нужен быстрый публичный сайт с интерактивными зонами приложения.
Перед началом
Карта маршрутов, состояния интерфейса и контракт данных.
01:04 Озвучка · встроенный текст

Моё обучение

Прогресс и заметка

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

Войти

Материалы / 12 минут

Собрать быстрый SvelteKit-интерфейс, в котором публичный контент существует до выполнения JavaScript.

01

Разделяйте документ и приложение

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

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

02

Маршрут владеет данными

Страница получает типизированную модель и передаёт узкие фрагменты компонентам. Компонент не должен самостоятельно угадывать URL API, формат ошибок или правила доступа.

Повторяемые сущности хранятся как структурированные данные. Это позволяет пререндерить страницы, построить sitemap и проверить полноту контента до запуска браузера.

  • Один источник истины для slug, title, description и canonical.
  • Стабильные размеры изображений и медиаблоков.
  • Состояния loading и error не изменяют геометрию страницы.
03

Измеряйте стоимость интерактивности

Проверяйте размер route-chunk, число сетевых запросов и работу на узком экране. Большая библиотека оправдана только там, где она удаляет реальную сложность.

Анимации должны использовать transform и opacity, уважать prefers-reduced-motion и не скрывать контент от пользователя без JavaScript.

Пререндеренная страница с типизированными данными svelte
<script lang="ts">
  export let data: { title: string; summary: string };
</script>

<svelte:head><title>{data.title}</title></svelte:head>
<main>
  <h1>{data.title}</h1>
  <p>{data.summary}</p>
</main>

Практика

Соберите один вертикальный маршрут

Реализуйте одну страницу от данных до адаптивного интерфейса без клиентского запроса за основным контентом.

  1. 01

    Создайте тип данных и статическую запись для страницы.

  2. 02

    Выведите title, description, h1 и основной текст в исходный HTML.

  3. 03

    Добавьте один интерактивный элемент как прогрессивное улучшение.

  4. 04

    Проверьте страницу при ширине 390 и 1440 пикселей.

Критерии готовности

  • Основной текст виден в HTML без JavaScript.
  • Маршрут имеет уникальные title, description и canonical.
  • На странице нет горизонтального переполнения.
  • Интерактивность не блокирует чтение и навигацию.