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

SPA или MPA, Laravel + Vue.js?

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

Использоваться будет Laravel + Vue.js

Вопрос заключается в выборе архитектуры приложения SPA / MPA.

В SPA в первую очередь беспокоит безопасность приложения. Необходимость делать дополнительные запросы для проверки доступа к документу, действиям, режимам просмотра и др.
С другой стороны, SPA в плане удобства для пользователя выглядит предпочтительнее.

Прошу дать совет в какую сторону идти и на что стоит особенно обратить внимание.
  • Вопрос задан
  • 1444 просмотра
Подписаться 9 Средний Комментировать
Решения вопроса 1
@UPSA
anykey. Я не программист, я просто ленивый.
Это как с RISC архитектурой ...
Если вы можете разделить систему на частично независимые процессы - делайте MPA
Если сложность процессов достигает некого абстрактного потолка понимания - разбивайте, те MPA
SPA - это когда одни и те же данные вы хотите показать с разных сторон.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@MVP_Master
SPA приложение делаете отдельно. И оно с Laravel или Lumen будет обмениваться через api. Весь контроль доступа будет проверяться на стороне бэкэнда. Middleware же не зря придумали. Да можно разграничивать доступы на уровне токенов..
Ответ написан
@Just__Den
FULL STACK
Делал приложение на Vue SPA (портал с играми, анкетами и т.д.), возникла проблема в следующем:

если на странице присутствуют динамические скрипты, то для их подгрузки на SPA надо строить большой велосипед - подгружать их во фрейм, где к ним теряется доступ Vue. Особенно, если эти скрипты подгружают ещё какие-то скрипты

в то время, как при стандартной перезагрузке MPA они просто вставляются в html
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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