Задать вопрос

Какие преимущества у одностраничных веб-приложений (SPA)?

Вообщем вопрос мой будет несколько шире, чем в заголовке. Я хочу сделать одно веб-приложение(сайт) и с разнообразием разных подходов у меня уже круглая голова какие вообще мне нужны реально.

В голове есть два основных подхода к разработке:

1. обычный MVC фреймворк с генерацией страниц на сервере, например RoR, Django и т.д. (многостраничное приложение)
2. Вынос логики в отдельное API и весь интерфейс реализовывать через SPA фреймворки, например Angular.

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

Так же отталкивает от второго сама суть одностраничного приложения, зачем оно вообще мне может надо быть? у меня на эскизах все логично разделено по страницам, в чем выигрыш если я эту многостраничность сделаю с помощью роутов в SPA приложении? Я вижу только минусы в SEO.

Чем хуже например такой подход: Делаем многостраничное приложение, и там где нам нужна динамика прикручиваем какой то фронтенд js фреймворк для data binding. Не ужели будет проигрыш в скорости при переходе между страницами? Планирую писать на Node.js + Express.

И дополнительный вопрос, если мне от js фреймворка нужен только data binding без всяких лишних наворотов, хорошим ли выбором будет react ?
  • Вопрос задан
  • 8771 просмотр
Подписаться 5 Оценить Комментировать
Решения вопроса 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
хорошим ли выбором будет react?

Если вам действительно важно SEO (вы упоминаете об этом), то react как раз таки снимает эту проблему, т.к. умеет рендериться на сервере.

SPA проще со стороны бэкенда (хотя что может быть проще бэкенда). Есть строго определенный контракт на API, достаточно его выполнить (причем, чаще всего, для платформы есть готовое решение по организации REST) и можно идти пить чай.
SPA проще со стороны фронтенда, можно начинать работу (и даже всю ее сделать) еще до того, как бэкендер перестанет пить чай (при наличии, опять же, контракта на API).
SPA лучше по архитектуре (как правило). Никакого тебе PHP+SQL+HTML+JS+CSS в одном файле, даже при всем желании.

Что же до выбора между SPA и более традиционным сайтом -- надо смотреть, приложение у вас или что. Прелесть gmail, например, в том, что это именно приложение. Оно какое-то время загружается, потом быстро работает и имеет богатый функционал. А прелесть хабра в контенте, никакой динамики там и не надо.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы