Виды веб-приложений: SPA и MPA

Иван Гурин Введение в веб-технологии 4 мин

MPA и SPA - это два основных способа строить веб-приложения, отличающиеся тем, как браузер общается с сервером и обновляет страницу. MPA (Multi-Page Application) загружает новую страницу целиком при каждом клике, а SPA (Single-Page Application) меняет только нужную часть без полной перезагрузки. Эта статья для новичков: разберём просто, с аналогиями и примерами.

Что такое MPA?

MPA - это классический подход, как работают большинство сайтов. Когда ты кликаешь на ссылку (например, "О нас" на главной), браузер отправляет запрос серверу, тот готовит полную новую HTML-страницу (с текстом, картинками) и отправляет обратно. Браузер перезагружает всё заново.

Плюсы:

  • Легко понять и сделать (сервер делает всю работу).
  • Поисковики (Google) видят весь контент сразу.
  • Страницы быстро открываются в первый раз.

Минусы:

  • Каждый переход - задержка (1–2 секунды).
  • Больше трафика по интернету.

Примеры: Сайты вроде Википедии или онлайн-магазинов (переход по товарам).

Аналогия: Как переключение телевизионных каналов — каждый раз заново настраивается картинка.

Что такое SPA?

SPA загружает один "скелет" - базовый HTML-файл с JavaScript. Дальше браузер сам запрашивает данные (через API — как посылки с сервера) и обновляет только изменившуюся часть экрана. Ссылки не перезагружают страницу, а меняют адрес в строке браузера (клиентский роутинг).

Плюсы:

  • Переходы мгновенные (как в приложении на телефоне).
  • Меньше запросов после старта.
  • Крутой интерфейс.

Минусы:

  • Большой размер первого файла (JS может быть мегабайтами).
  • Поисковики видят мало (нужно специальные трюки).
  • Не работает без JavaScript.

Примеры: Gmail (письма меняются без перезагрузки), Twitter/X или Trello.

Аналогия: Как мобильное приложение — один запуск, дальше всё внутри летает.

MPA vs SPA: Сравнение в таблице

Характеристика MPA SPA
Загрузка страниц Полная перезагрузка каждый раз Только нужные кусочки
Скорость переходов Медленнее (задержка) Быстрее (без релоада)
SEO (поисковики) Хорошо работает из коробки Нужно дорабатывать
Когда выбрать Простые сайты, контент Интерактивные сервисы

SSR и CSR: Где "рисуется" страница?

Это дополнение: где браузер получает готовый вид. Можно комбинировать с MPA/SPA.

  • SSR (Server-Side Rendering): Сервер "рисует" HTML с данными и отправляет готовое.

    • Плюс: Быстро видно, хорошо для SEO.
    • Минус: Сервер устает.
    • Пример: веб-приложение на ASP.NET Core MVC.
  • CSR (Client-Side Rendering): Сервер даёт пустой шаблон + JS, браузер сам строит страницу.

    • Плюс: Сервер лёгкий.
    • Минус: Сначала пустой экран.
    • Пример: Обычный React-сайт.

Гибрид (SSR + CSR) — золотая середина для современных приложений. Теперь ты знаешь, как выбрать подход для своего первого сайта!

Test

dfgdfg

public Test()
{
    var x = 0;
    return yield;
}

Гибрид (SSR + CSR) — золотая середина для современных приложений. Теперь ты знаешь, как выбрать подход для своего первого сайта!