Найти тему
Frontend-IT

Что такое SPA (Single Page Application)

Как вы знаете клиенты взаимодействуют с серверами, для того чтобы с серверов скачивать HTML, CSS и JavaScript файлы.

В одностраничных приложениях (SPA) клиент запрашивает только одну страницу HTML, а также JavaScript и CSS файлы для всего приложения.

Другими словами, сервер передаёт клиенту только одну HTML-страницу, с сопутствующими JavaScript и CSS файлами.

После этого, когда, например, клиент хочет перейти на другую страницу, то вся навигация между страницами выполняется непосредственно на стороне клиента.

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

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

-2

Ключевой момент, что в SPA клиент запрашивает только одну HTML-страницу, а после этого клиент самостоятельно её модифицирует с помощью JavaScript.

Существуют несколько популярных фреймворков и библиотек для создания одностраничных приложений (SPA): React, Angular, Vue, Svelte, Ember, Ruby.

Отметим, что React является библиотекой, а не фреймворком, потому что React отвечает только за визуальную часть одностраничных приложений, но в тоже время является самым популярным среди всех фреймворком и библиотек для создания одностраничных приложений (SPA).

А вот, например, такие фреймворки как Angular или Vueявляются более функциональными и включают в себя много других функций, которые касаются непосредственно работы самого одностраничного приложения (SPA).