Задать вопрос
EKCTPEMICT
@EKCTPEMICT
FrontEnd Developer

Какую архитектуру выбрать для SPA?

Есть сервис который в 6 шагов (на 6 отдельных зависимых друг от друга страницах) собирает данные о пользователе и выдает отчет. Бекенд на Yii, фронт на смеси js+html где на вьюхах я получаю json с данными и по своему усмотрению строю фронтенд разметку силами js (без фреймворков, события тригерятся по действию пользователя с DOM). Всего на 6 шагов около 5к строк JS Между шагами - POST-запросы

Задача от руководства преобразовать все в SPA-виджет. Мол, подключил js-файл и параметры к нему в виде js-объекта и получить функционал где бы не был подключен виджет (на бложике, на отдельном сайте). Данные обрабатывать будет наша API принимая и отдавая данные.

Кто-то советует взять React.js / Angular (для меня темный лес) или скостылить все без них где:
- виджет будет принимать DOM
- для каждого шага будет собирать и навешивать события
- отправлять данные через апишку.
- между шагами DOM и события будут назначаться заново

Господа? Ваши идеи?
  • Вопрос задан
  • 598 просмотров
Подписаться 6 Средний 12 комментариев
Пригласить эксперта
Ответы на вопрос 3
nexmean
@nexmean
погромист
Vue куда больше подходит для интеграции в уже существующие приложения. К тому же он намного проще в освоении, нежели Angular и React.
Ответ написан
Комментировать
@kttotto
пофиг на чем писать
Если не имели дело с react/vue, то быстрее будет на js+jq, ангуляр для этого случаю можно отбросить. Я так понимаю сервис сам по себе не большой, поэтому кода много не будет. В виджет отдали селектор, внутри он сгенерировал разметку и обработчики, все запросы аяксом.
Ну а если есть время и желание, то react/vue будет самое оно, это их дело компоненты стругать, на выходе у Вас будет js с нужным апи.
Ответ написан
Комментировать
Если выбирать между React и Angular , то React просто идеален для такой задачи. Не нужен роутинг, редакс, никаких заморочек. Работать будет быстро, подключить легко. Ангуляр слишком тяжёл для этого.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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