Напишу про Ember.js
1) Богатый интерфейс с множеством форм
Используйте
ember-easy-form2) Авторизация и разделение пользователей по ролям
За роли не подскажу, а для авторизации
ember-simple-auth лучший выбор, имеет несколько стратегий авторизаций из коробки, и можно дописать свои.
3) Различные уведомления о новых событиях (пришла почта, менеджер спустил задачу, приближается срок выполнения и т.п.)
Ember.js для работы своего хранилища использует адаптеры и сериалайзеры. Из коробки - REST, ActiveModel, Fixture. Их можно указывать для всего приложения разом, и для конкретного типа модели в частности. Мы для работы уведомлений и чата расширили адаптер и сериалайзер для WebSockets, и у нас все приложение работало через REST, а при авторизации поднимается сокетное соединение именно для этих моделей.
5) Относительно быстрый старт для написания прототипа
Большинство вещей у вас получится быстро. Для некоторых придется разобраться, например
, нужно будет понять что переопределять и как, хотя тут может помочь какое-нибудь готовые решение.
Материалы для изучения с официального сайта уж очень поверхностны на первый взгляд, а где смотреть готовые примеры не нашел.
Я работаю примерно по такой схеме:
1. Так как модели в DS по сути повторяют структуру БД (реляционной), начинаю я с созданя моделей. Если API не готов, использую
FIXTURES.
2. Затем пишем роутер, для нужного раздела.
3. Если требуется - контроллер + темплейт делаются обычно одновременно так как взаимосвязаны.
4. В зависимости от задачи, дописываются компоненты, расширяются классы и пр., если задача еще не решена, переходим к пункту 1.
Возможно ли с ним быстро "стартануть" и сделать некий прототип приложения?
Попробуйте написать прототип, без вещей которым могут вызвать сложности, если понравиться все походит, добавите и авторизацию и сокеты и пр.