Можно лии использовать декларативный AngularJS для создания сложного веб-приложения (напр. аналог VK.com)?
Здравствуйте!
Не ясно как использовать декларативный подход AngularJS для создания сложного приложения.
Например находимся мы в списке друзей. И хотим запустить аудио-плеер. Аудио-плеер это почти как отдельное приложение. Хотелось бы его и делать как отдельное приложение (здесь и далее речь идет только о клиентских приложениях). Можно в Ангуляре так делать? Из одного приложения подгрузить другое?
Далее. Обязательно всю верстку создавать на сервере и передавать в браузер? Или можно как-то на ходу ее создавать/удалять? Дело в том, что верстка занимает много памяти. А по мере работы в приложении, пользователь будет открывать те или иные вьюшки (списки, таблицы, формы...). Если их заранее подгрузить с сервера, то это же скорее всего займет очень много памяти.
Или все таки Ангуляр рассчитан для создания несложных приложений? Например есть сайт где много страниц. И владелец захотел некоторые страницы превратить в мини-приложения. Например на одной странице поставил калькулятор ОСАГО. На другой странице корзина покупок. На третьей - таблица посадки/отправления рейсов самолетов в онлайн-режиме.
Если голова на месте, можно разрабатывать приложения любой сложности на 1 ангуляре, а можно и на втором, но будь готов к тому что даже в RC6 есть breaking changes
1. Для 1.х можно сделать отдельные модули и грузить их лениво (requireJs), для 2.х из коробки идет асинхронщина(?).
2. Создавать верстку на сервере не нужно ни в коем случае. У angular отличные возможности по поводу теплейтов.
Темплейты грузятся асинхронно по умолчанию(т.е. при первом запросе ангуляр дергает html и сохраняет его в свой кеш до конца сессии).
Если angular использовать с умом, то он подходит для почти любого проекта. У меня были с ним проблемы только тогда когда надо было выводить сразу большие списки данных, но в большинстве случаев это либо не нужно, либо можно делать постепенную подгрузку. Что касается подгрузки шаблонов и прочей статики, все настраивается, можно делать постепенно или сразу, по запросу и т.п.