SPA - это приложение, которое работает внутри браузера и не требует перезагрузки страницы во время использования. Вы используете этот тип приложений каждый день. Это, например, Gmail, Google Maps, Facebook или GitHub.
SPA предназначены для обслуживания выдающегося UX, пытаясь имитировать «естественную» среду в браузере - без перезагрузки страницы, без дополнительного времени ожидания. Это всего лишь одна веб-страница, которую вы посещаете, которая затем загружает все остальное содержимое с помощью JavaScript, от которого они сильно зависят.
SPA запрашивает разметку и данные независимо и отображает страницы прямо в браузере. Мы можем сделать это благодаря продвинутым фреймворкам JavaScript, таким как AngularJS, Ember.js, Meteor.js, Knockout.js.
Одностраничные сайты помогают удерживать пользователя в одном удобном веб-пространстве, где контент предоставляется пользователю простым, легким и работоспособным способом.
SPA работает быстро, так как большинство ресурсов (HTML + CSS + Scripts) загружаются только один раз за время существования приложения. Только данные передаются туда и обратно.
Разработка упрощена и оптимизирована. Нет необходимости писать код для отображения страниц на сервере. Начать гораздо проще, потому что обычно вы можете начать разработку с файла file: // URI, вообще не используя какой-либо сервер.
SPA легко отлаживать с помощью Chrome, так как вы можете отслеживать сетевые операции, исследовать элементы страницы и связанные с ними данные.
Создать мобильное приложение проще, потому что разработчик может повторно использовать один и тот же серверный код для веб-приложения и собственного мобильного приложения.
SPA может эффективно кэшировать любое локальное хранилище. Приложение отправляет только один запрос, сохраняет все данные, затем может использовать эти данные и работать даже в автономном режиме.