Веб-приложения: SPA, MPA, PWA
Веб-приложение работает в веб-браузере и, в отличие от сайтов, интерактивное и может выполнять задачи как десктопные приложения.
SPA (Single Page Application)
SPA — одностраничное веб-приложение, где основное взаимодействие с пользователем происходит на одной странице. Контент обновляется динамически, без полной пер езагрузки страницы.
Применение
- Социальные сети
- Почтовые клиенты
- Административные панели
Зачем нужно
- Для быстрого и плавного пользовательского опыта
- Минимальное время загрузки
Из чего состоит
- Клиентская часть (HTML, CSS, JavaScript)
- Фреймворки и библиотеки (React, Angular, Vue.js)
- API для взаимодействия с сервером
Как работает
- Загрузка начальной HTML-страницы
- Загрузка CSS и JavaScript файлов
- Инициализация фреймворка/библиотеки
- Запросы к API для получения данных
- Динамическое обновление DOM с использованием данных из API
- Обновление URL и состояния приложения без перезагрузки страницы
Плюсы и минусы
Плюсы:
- Быстрая загрузка после первого запроса (кэширование ресурсов и данных)
- Плавные переходы между разделами (виртуальный DOM, клиентская маршрутизация)
- Меньшая нагрузка на сервер (меньше запросов)
Минусы:
- Усложнённая индексация поисковыми системами
- Длительное время начальной загрузки
- Требуются дополнительные инструменты для настройки маршрутизации и управления состоянием
Примеры: Яндекс.Почта, ВКонтакте
Интеграция
- REST API, GraphQL для взаимодействия с сервером
- Веб-сокеты для работы в реальном времени
MPA (Multi Page Application)
MPA — многостраничное веб-приложение, где каждая страница загружается отдельно с сервера.
Применение
- Сайты с большим количеством контента
- Новостные порталы
- Интернет-магазины
Зачем нужно
- Лучшая интеграция с SEO (уникальный URL у каждой страницы)
Из чего состоит
- Серверная часть (бэкэнд на PHP, Python, Java и т. д.)
- Клиентская часть (HTML, CSS, JavaScript)
- Система маршрутизации