> когда у тебя более 5к строчек в списке
Без проблем, только зачем? при правильном построении приложения и миллион ватчей будет летать. (Кроме того Angular Light поддерживает Object.observe, хотя кому оно нужно...)
> Да и куча других его особенностей превращает его в совсем не эффективный инструмент.
Это справедливо для Angular.js, а Angular Light - это маленькая библиотека без сервисов, фабрик, модулей и прочей шелухи.
Там (только) диреткивы и биндинг, так что под эту задачу - самое то, тем более она легче чем jQuery, ~15kb.
Январь этого года, наверно был самый свежий на момент создания теста, 3-х летний ангуляр так не тормозит, важнее что тест делал сторонник Ember.js (тесты сделаны разными людьми), исправьте - сделайте pull-request, "хост" их активно принимает.
Денис Иванов: Конечно, вот один из свежих бенчмарков, тут react.js медленнее чем Ангуляр почти в 2 раза, а Ember.js вообще тормозит - медленнее в 60 раз чем Ангуляр.
Можете попробовать Angular Light и у вас не будет проблем с сервисами, провайдерами и т.п. т.к. их там просто нет. Есть самое нужное - директивы и биндинг. :)
> я прекрасно знаю что такое фабрика
Я не сомневаюсь.
> я называю регистрацией сервисов
Регистрация сервиса есть и в js примере.
Вопрос в том, чем хороша реализация Ангуляра, какие плюсы? Я вижу только 2 сомнительных плюса:
1) Некая стандартизация - всем приходится именно так делать (регистрировать) сервисы.
2) Возможность обработать/перехватить момент регистрации, т.к. он идет через вызов ф-ии (это легко делается и в js версии)
Ну а ряд минусов я уже озвучил выше.
Я считаю что в Ангуляре 1.х некоторые вещи плохо спроектированы, а некоторые сделаны не потому что оно нужно, а просто прилепили что-бы хоть что-то прилепить. А разработчикам приходится с этим жить. Вот один из примеров тупых решений, который уже давно исправили, хотя 30% считают, что так и должно было быть... 8\ (фанаты?)
Хотя, глядя на Ангуляр 2, его авторы отказываются от некоторых "подходов" 1-й версии, т.е. признали их неудачными - и это подтверждает мои доводы.
Вариант на js проще, короче, используется аналогично DI, так же можно использовать в тестировании, нет проблем с минификаторами, можно менять фреймворки, можно загружать асинхронно (например через require).
И зачем нам тут ангуляр?
Кстати этим и плох Ангуляр что заставляет использовать свои враперы сервисов, фабрик и прочего, когда это делается проще и компактней на чистом JS, а главное можно было бы лекго менять, подключать другие фрейморвки.