Прочитал
https://moot.it/blog/technology/fram...avascript.html
Цитата:
|
Люди не должны беспокоиться о внутренних механизмах, таких как watch$, $apply или $digest. Я хочу только магию!
|
Watch и так автоматом вызывает digest, тоже касается и функций прописанных в ngclick. Использовают Apply как правило вне подобных методов. Полностью магию можно реализовать только геттерами и сеттерами, за которые придется дорого платить производительностью (я писал выше об этом).
Цитата:
|
Довольно сложную логику лучше выражать старым добрым JavaScript.
|
Простое решение выглядит простым только если оно существует само по себе. Чем взаимодействие этих простых решений сложнее между собой, тем сложнее проект в совокупности. То есть в какой то момент взаимодействие компонентов между собой оказывается сложнее самих компонентов. И вот чтобы решить проблему взаимодействия нам как раз нужны фреймворки вроде Backbone или Angular или Ember и т.п. В фреймворках есть готовые решения позволяющие связать компоненты приложения воедино. А в нативном JS вы с голой жопой перед этой проблемой. Любое красивое решение на JS которое вы изобретете для связывания окажется похожим на один из существующих фреймворков.
Ситуация такова что в большом приложении либо вы используете готовый фреймворк, либо пишете его сами
Цитата:
|
Контролы на jQuery
|
Насчет контролеров на jQuery я согласен, это неплохой инструмент но не панацея. В Ajax приложениях управление такими контролами превращается в проблему. Тобишь приложению нужно запускать разные контролы в зависимости от загруженного при помощи ajax контента. Это можно решить либо через инициализацию контролов каким то подобием роутера, либо декларативной инициализацией контролов в самом подгруженном контенте. Но в последнем случае есть неудобство со связыванием контрола с внешними данными. К примеру в ангуляре эту проблему решает вложенность scope;
Также соглашусь с тем что архитектура не должна диктоваться модой, и что возможно иногда стоит сочетать несколько подходов.
Приятные впечатления
https://github.com/melanke/Watch.JS
Ну и от этих неплохие
http://rivetsjs.com/
http://witch.io/