Angular 2.0 : Retour en grâce ?
J'ai très (très) longtemps fustigé Angular 1 et c'était encore le cas récement. Je reste d'ailleurs persuadé que la version 1 d'Angular a été faite par des javaïstes refoulés qui souhaitaient torturer des gentils développeurs JS.
Il y a plus d'un an, j'ai tenté pleins de framework.
J'ai vite délaissé Ember parce qu'il reprenait trop de concept de Angular1 et qu'il fallait au moins 3 fichiers ou fonctions (à l'époque) pour coller un "Hello World" dans une div. Et les promesses étaient encore une vision d'esprit seulement accessibles que via Q.JS...
React me semblait trop déconnecté du DOM et de ce que j'ai pu en lire, pas mal de monde pignait sur des problèmes de refresh de certains éléments dans un DOM complexe. De quoi pas donner envie...
J'ai biensûr regardé du coté de Backbone mais là c'était quand même beaucoup de boulot pour arriver à la fluidité de code que je souhaitais obtenir. Y'a même eu Knockout (il y a 3 ans !) mais là je suis tombé hors cadre en terme de simplicité de compréhension du code sur un projet même pas couillu.
Et puis @clm_a nous a montré VueJS lors d'un CaenCamp. Ca reprenait le principe super simple de Angular sur les templates mais sans la messe inbuvable et tout le foutoir coté JS. Donc pour le taf, on est parti là dessus et j'avoue qu'on est super content aujourd'hui de ce choix.
Bref.
Tout ça pour dire que lors de ma veille, j'ai décidé (suite aux bons échos récents de la version 2) de retenter Angular. Et bien j'ai eu plein de bonnes surprises et voici les meilleures :
1) Les tests sont directement intégré !
Ca nous manque dans VueJS. Il y a Karma mais sa mise en place n'est pas aussi évidente que dans Angular.
2) La gestion des contrôleurs est simple !
Ca y est ! Ils ont compris ! Du coup maintenant ça marche aussi simplement que dans VueJS. C'est même troublant tellement c'est ressemblant...
3) Il y a une gestion de composant "simple" !
Ca aussi c'était une grosse force de VueJS et son dev avait vu (mouarf désolé) ça avant tout le monde. Il avait intégré les composants directement au modèle vue. Ca oblige à utiliser WebPack mais ca rend le code tellement plus structuré et maintenable sur des très gros projets que c'est indispensable. Et la réponse apportée par les directives d'angular me plaisent beaucoup plus que le bricolage de la version 1.
Mon avis c'est qu'aujourd'hui Angular semble avoir bien corrigé le tir et si je devais maintenant choisir un nouveau Framework pour le front j'hésiterais fortement entre Angular (bien maintenu) et VueJS (idées novatrices).
Il est même fort probable que je choisisse de partir sur Angular 2.0 si le projet à une maintenance de longue durée de prévue (5 / 10 ans).
La bonne nouvelle pour nous c'est que la transition entre VueJS 1.0 et Angular 2.0 nous semble super simple puisque Angular viens vers la logique de VueJS et que le developpeur de VueJS a tenter de se rapprocher d'Angular 2.
Retour en grâce donc, mais reste à être éprouvé sur un vrai gros projet de plusieurs dizaines de milliers de ligne de code comme nous l'avons fait pour VueJS.
Il y a plus d'un an, j'ai tenté pleins de framework.
J'ai vite délaissé Ember parce qu'il reprenait trop de concept de Angular1 et qu'il fallait au moins 3 fichiers ou fonctions (à l'époque) pour coller un "Hello World" dans une div. Et les promesses étaient encore une vision d'esprit seulement accessibles que via Q.JS...
React me semblait trop déconnecté du DOM et de ce que j'ai pu en lire, pas mal de monde pignait sur des problèmes de refresh de certains éléments dans un DOM complexe. De quoi pas donner envie...
J'ai biensûr regardé du coté de Backbone mais là c'était quand même beaucoup de boulot pour arriver à la fluidité de code que je souhaitais obtenir. Y'a même eu Knockout (il y a 3 ans !) mais là je suis tombé hors cadre en terme de simplicité de compréhension du code sur un projet même pas couillu.
Bref.
Tout ça pour dire que lors de ma veille, j'ai décidé (suite aux bons échos récents de la version 2) de retenter Angular. Et bien j'ai eu plein de bonnes surprises et voici les meilleures :
1) Les tests sont directement intégré !
Ca nous manque dans VueJS. Il y a Karma mais sa mise en place n'est pas aussi évidente que dans Angular.
2) La gestion des contrôleurs est simple !
Ca y est ! Ils ont compris ! Du coup maintenant ça marche aussi simplement que dans VueJS. C'est même troublant tellement c'est ressemblant...
3) Il y a une gestion de composant "simple" !
Ca aussi c'était une grosse force de VueJS et son dev avait vu (mouarf désolé) ça avant tout le monde. Il avait intégré les composants directement au modèle vue. Ca oblige à utiliser WebPack mais ca rend le code tellement plus structuré et maintenable sur des très gros projets que c'est indispensable. Et la réponse apportée par les directives d'angular me plaisent beaucoup plus que le bricolage de la version 1.
Mon avis c'est qu'aujourd'hui Angular semble avoir bien corrigé le tir et si je devais maintenant choisir un nouveau Framework pour le front j'hésiterais fortement entre Angular (bien maintenu) et VueJS (idées novatrices).
Il est même fort probable que je choisisse de partir sur Angular 2.0 si le projet à une maintenance de longue durée de prévue (5 / 10 ans).
La bonne nouvelle pour nous c'est que la transition entre VueJS 1.0 et Angular 2.0 nous semble super simple puisque Angular viens vers la logique de VueJS et que le developpeur de VueJS a tenter de se rapprocher d'Angular 2.
Retour en grâce donc, mais reste à être éprouvé sur un vrai gros projet de plusieurs dizaines de milliers de ligne de code comme nous l'avons fait pour VueJS.
Commentaires
Enregistrer un commentaire