Стоит ли использовать AngularJS вне концепции SPA?
Приветствую.
Собираюсь писать новый проект и озадачен подбором технологий. Проект большой, много ролей пользователей и различных сложных интерфейсов (формы, конструкторы, таблицы с сортировкой).
Раньше писал на KnockoutJS, но в нем мне не хватает некой организованности в коде и напрягает постоянная забота об observable's.
Увидел AngularJS и понял, что это то, чего мне не хватает.
Но. Я еще не готов полностью перейти к модели SPA, т.к:
1. Заботит индексация поисковиками. Про пре-рендер знаю.
2. У разных ролей пользователей должны быть разные права. И нежелательно, чтобы один пользователь знал о доп. возможностях другого. Например какая-либо дополнительная кнопка в интерфейсе управления. Т.к вся шаблонизация при SPA будет на стороне клиента, вся логика доп. прав так же будет доступна взору? Как поступают в подобных ситуациях, делают разные сборки JS/html-шаблонов для разных ролей? Это главный пункт, из-за которого не могу решиться на SPA.
3. Чтобы ознакомиться с лучшими практиками при разработке SPA на AngularJS, я полез на builtwith.angularjs.org. Старался искать крупные работающие приложения (opentaste.eu, zaptravel.com, doubleclick, socialblood.com и т.д). Обнаружил, что они не используют модель SPA в своих проектах, а AngularJS используется по большей части для построения сложных форм, таблиц и CRUD. Сами страницы рендерятся на сервере. Я ошибаюсь и взял не те примеры? Где найти примеры больших SPA приложений (c пользовательским контентом) на AngularJS?
Извиняюсь за длинный текст. Главный вопрос: принято ли использовать AngularJS в гибридных приложениях, где основные данные рендерятся на сервере, а сам Angular использовать без роутинга в целях построения частей сложных интерфейсов (таблицы и конструкторы)?