Angular JS
Angular JS aussi nommé Angular est un framework Javascript de développement d'applications web maintenu par Google et la communauté. La version en cours d'utilisation est la 1.3x et une version 2 a été annoncé à la ng-europe d'octobre (la conférence angular JS au niveau Europe) et confirmé à la ng-conf de mars. Angular reprend les designs patterns MVC (Modèle Vue Controlleur), MVVM (Modèle Vue Vue-Modèle), MVP (Modèle Vue Présentation) et en retire le modèle MVW (Modèle Vue Ce que vous voulez). Entendez "ce que vous voulez" par "ce qui fonctionne pour vous".
En gros, la vue observe les modifications du modèle et les répercute et vice-versa. Cela signifie que si vous modifiez un élément dans la vue le modèle est systématiquement mis à jour, et si un élément change dans le modèle la vue se met à jour. Tout ça en temps réel (ou presque).
Personnellement, pour avoir récemment mis le nez dedans pour un projet scolaire, je trouve ça pas trop mal d'un point de vue fonctionnement et architecture. Le point qui me dérange c'est le système d'observation bidirectionnel (Vue Modèle et Modèle Vue) qui surcharge beaucoup le système. Après je suis encore dans la phase "C'est tous neuf donc c'est cool" donc peut-être que d'autres déceptions sont à venir.
Niveau compatibilité, c'est pour les "evergreen" et avec un peu de bol pour certains autres. Dans les grandes lignes, les "evergreen" sont les navigateurs qui se mettent automatiquement à jour (Chrome, Firefox, IE 11, Safari, ...).
Pour la version 2 de Angular, l'équipe de développement a choisi de quitter JavaScript pour aller vers TypeScript. TypeScript est un langage open source de Microsoft, il s'agit d'une surcouche à JavaScript qui permet en autres de gérer le typage du code et la gestion objet (classes, héritages ...). Le code est ensuite trans-typé en JavaScript pour être exécuté. Voici une petite démo extraite de Channel9 de ce que fait TypeScript :
Ce changement a fait beaucoup de bruit dans la communauté de développeurs. Effectivement de tels changements remettent en question le choix initial de la technologie. La conférence de mars a appuyé le fait que Angular 1.x n'était pas abandonné et qu'une version sera toujours disponible pour les utilisateurs. Dans tous les cas, il faudra attendre la version TypeScript 1.5 (qui ne devrait pas tarder à arriver) pour commencer à jouer avec Angular 2.
Si vous souhaitez tester AngularJs la version 1.x propose un très bon tutoriel et pour plus d'informations sur la future version 2, rendez-vous sûrs le site dédié.