Maintenant que AngularJS 1.0 est publié Je me demande comment ce projet s'intègre à l'autre cadre/outil JavaScript polyvalent de Google, Fermeture .
Je n'ai vu qu'une description sommaire de ces deux technologies (et lu environ la moitié du livre sur Closure), je n'ai donc pas d'expérience directe, mais c'est ainsi que je vois les choses :
- La fermeture est un ensemble de technologies qui peuvent être utilisées séparément. Ce que je trouve probablement le plus attrayant est :
- Compilateur de fermetures qui semble "réparer JavaScript" dans le sens où il avertit contre les problèmes typiques, fournit quelques vérifications à la compilation (tout le monde n'aime pas cela, mais probablement la plupart des développeurs de Google le font, et moi aussi). Et bien sûr, il est agréable que le code résultant soit plus petit et plus efficace.
- Ensuite, il y a certaines parties de Bibliothèque des fermetures que j'apprécie, par exemple les abstractions sur les types intégrés (
ArrayLike
etc.), système basé sur les classes, mécanisme d'événements, abstractions DOM, etc. Je ne sais pas encore si j'aime ou non la bibliothèque GUI (elle semble assez complexe et je n'ai pas encore eu le temps de l'étudier). - Ensuite, il y a certaines fonctionnalités que je ne pense pas trouver très utiles, par exemple Modèles .
- AngularJS que je n'ai lu que brièvement, semble être d'un niveau beaucoup plus élevé que Closure. Il semble qu'il s'agisse d'un cadre applicatif offrant des fonctionnalités telles que la liaison de données, les composants réutilisables, la structure MVC, etc.
Ces deux technologies semblent donc viser un niveau d'abstraction assez différent. Ma première réflexion a donc été de savoir si elles pouvaient être utilisées ensemble. Closure fournit des abstractions de bas niveau pour le compilateur et le navigateur tandis qu'Angular fournit des services et une structure au niveau de l'application ? Cela aurait-il un sens et fonctionnerait-il bien ensemble ?