Développement : Angular 2 débarque enfin en version finale
Six ans d'âge
Le 15 septembre 2016 à 14h00
3 min
Logiciel
Logiciel
Google vient de lancer la version 2 d’Angular, son framework conçu pour le développement des applications web. La nouvelle mouture tranche radicalement avec la première, et n’est d’ailleurs pas compatible. Plus modulaire, elle poursuit également des objectifs révisés.
Angular 2 est clairement une version majeure. La première mouture avait été lancée en 2010 et avait rapidement rencontré le succès. La nouvelle arrive donc six ans après et porte en elle des changements importants qui interdisent la reprise du code. Il faudra donc soit passer par un processus de migration (qui n’est pas fourni), soit tout simplement attendre de commencer de nouveaux projets pour basculer sur Angular 2.
Modularisation et TypeScript au premier plan
L’un des changements les plus profonds est la modularisation du framework. On passe d’une structure assez monolithique à un noyau plus petit entouré de modules, par glissement des fonctionnalités. L’ensemble permet d’ajouter facilement des bibliothèques, qui viendront enrichir les composants existants. La nouvelle version prend également mieux en charge les navigateurs et systèmes mobiles récents.
Globalement, l’idée est toujours d'accélérer le développement des applications. Le moyen d’y parvenir est cependant différent, et Angular 2 va réclamer un vrai temps d’adaptation. Ce sera particulièrement le cas pour les développeurs qui l’utilisaient avec du JavaScript. Google indique en effet que le langage recommandé est désormais TypeScript. Créé par Microsoft, il s’agit d’un surensemble de JavaScript conçu pour la gestion des gros projets. Il ajoute notamment le typage statique et une programmation basée sur les classes d’objets. Notez que JavaScript et Dart restent utilisables.
Une révision du cycle de développement
Dans son annonce, Google donne également quelques pistes pour l’évolution de son framework open source dans les prochains mois. Le support des WebWorkers devrait par exemple sortir de son statut expérimental. Le cycle de développement sera par ailleurs révisé, avec des versions majeures, mineures et des patchs de correction, pour un rythme qui se veut plus clair. Les premières seront synonymes de changements incompatibles avec les versions précédentes, tandis que les secondes enrichiront la branche en cours avec des fonctionnalités.
Ceux qui veulent démarrer avec Angular 2 pourront se rendre sur cette page mise en ligne pour aider à la mise en place d’un environnement de développement.
Développement : Angular 2 débarque enfin en version finale
-
Modularisation et TypeScript au premier plan
-
Une révision du cycle de développement
Commentaires (62)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 16/09/2016 à 06h35
Le site de la doc est le suivant, et il est bien en angular 2 (TypeScript par défaut)
https://angular.io/docs/ts/latest/
Le 16/09/2016 à 06h41
J’ai voulu tester ça hier (j’ai joué un peu avec Angular 1 il y a 2 ans) et ma première impression c’est que ça s’est sacrément complexifié… on est passé d’une simple bibliothèque js à utiliser dans une page HTML à quelque chose de plus complexe à mettre en œuvre via NodeJS et plein de fichier config dont je ne comprends même pas (à première vue en tout cas car ce n’est pas vraiment expliqué dans le quickstart) l’utilité…
Un peu déçu donc, j’ai l’impression d’être passé de quelque chose de simple et efficace à une machine à gaz, du coup c’est peut être super puissant mais en ce qui me concerne j’y ai perdu pas mal d’intérêt.
Le 16/09/2016 à 06h57
On peut utiliser dart aussi, c’est vraiment pas mal.
C’est dommage de n’avoir aucun article sur dart ici.
Le 16/09/2016 à 07h06
Pour ce qui est de “NodeJS et plein de fichier config” c’est sans doute la configuration pour automatiser le build de Typescript vers Javascript.
C’est inévitable sur un langage compilé, tu dois transformer ton code à un moment ou à un autre, en C tu utilises généralement make, en Java tu utilises maven. Dans un cas comme dans l’autre tu peux utiliser gcc (ou autres) et javac à la main, mais personne ne fait ça.
Pour Typescript c’est en gros la même chose, tu peux utiliser tsc directement sur tes fichiers (tu dois quand même passer par npm/NodeJS pour l’installer), mais tu automatises le build avec un outil comme Gulp ou Grunt en général (que tu installes aussi par npm/NodeJS et qui dispose de son fichier de config à la racine du projet, comme un Makefile pour make ou un pom.xml pour Maven)
Le 16/09/2016 à 07h24
Merci pour cette réponse, je ne suis clairement pas un expert des techno web (dev .net/wpf) et je n’avais simplement pas pensé à la conversion du TS vers du JS.
Cela dit ça ne change pas mon ressenti, j’aimais le côté sans fioritures d’angular 1 même si encore une fois je ne l’ai utilisé que sur un tout petit projet pour lequel c’était très adapté, j’imagine qu’angular 2 doit être bien meilleur pour de gros projets (notamment de par l’utilisation de TS).
C’est juste plus tout à fait le même usage j’ai l’impression (mais sûrement que je me trompe et que cette impression ne vient que de mon expérience perso).
Le 16/09/2016 à 07h32
Ah et bien justement, moi ce qui me plait avec Angular 2 c’est le nettoyage au niveau de la structure. Fini les angular.directive, angular.service, etc. Maintenant avec TS tu utilise des annotations sur des classes, tes services sont de simples classes, la dépendance d’injection est plus naturelle et malléable.
Par contre je ne comprends pas ceux qui compare Angular et React. React se concentre sur l’UI alors qu’Angular propose tout un framework pour gérer la navigation, l’injection de dépendances, etc.
Le 16/09/2016 à 07h36
Bah parce que tout le monde s’en fou (j’ai pas dis que c’était pas bien ^^). Mais bon encore une raison de plus pour pas se tourner vers les produits Google jetables. Chaque fois c’est pareil, ils vantent les mérites d’un truc, tu te casses les couilles à te former dessus, puis au bout d’un moment bah en fait non tu te démerde mais il va falloir passer à autre chose et tes compétences apprises seront à peu près inutiles. Ils en sont quand même venus à mettre TypeScript de MS en avant alors je donne pas cher de Dart à l’avenir…
Bref je préfère me tourner vers des projets supportés par des structures peut être plus petites mais qui montent un business autour de leurs technos et qui ont donc tout intérêt à faire les choses bien et à ne pas prendre leurs clients pour des cons.
Le 16/09/2016 à 07h47
Le 16/09/2016 à 07h57
hello,
Je développe des applis métier essentiellement sans frameworks, donc en utilisant seulement jquery (jquery-ui et jquery-mobile également)
j’aimerais passer sur ces frameworks pour justement plus de structure et souplesse notamment sur les gros projets mais aujourd’hui, je suis incapable de savoir vers quoi aller (angular 2, aurelia etc…). Je n’ai hélas pas vraiment le temps de les tester tous et surtout très peur de choisir celui qui sera peut suivit…
Je me doute qu’il n’y a pas de réponse toute faite mais avez-vous des pistes ?
Merci à vous.
Le 16/09/2016 à 08h05
Le 16/09/2016 à 08h22
Le 16/09/2016 à 08h34
heuuu dans les sources il est marqué:
ng-controller=“AppCtrl as appCtrl”Cette syntaxe n’existe qu’en angular 1 en théorie.
Le 16/09/2016 à 09h18
C’est un peu le cas sur tout les projets et pour toutes les technos malheureusement ^^
Le 16/09/2016 à 09h30
Le 16/09/2016 à 09h52
Le 16/09/2016 à 10h23
Le 16/09/2016 à 10h41
La même… " />
Le 16/09/2016 à 11h23
Le 16/09/2016 à 11h44
Tu fais de l’optimisation quand il y a des contraintes. Il a encore de domaine avec des contraintes… Mais c’est sur qu’avec les monstres de puissance qu’on a, c’est moins nécessaire.
J’ai eu l’exemple il y a quelque a année : une résolution de Sudoku.
Bha, en java, l’optimisation j’en avais rien à foutre. Pour Excel, c’était juste un portage que quelqu’un que je connaît à fait, plutôt bon avec Excel, qui lui cherchait des solutions d’optimisation parce que 5 min, c’est pas acceptable.
Le 16/09/2016 à 12h41
Oui je parlais du site en lui même en fait " />.
Le 16/09/2016 à 13h04
Tu peux essayer qooxdoo si t’aime bien le développment OO à la Java
Le 16/09/2016 à 13h42
Le 16/09/2016 à 14h06
Le 16/09/2016 à 14h49
Le 21/09/2016 à 11h36
+1 Des incompétents le seront quelque soit le framework…
On utilise angulars sur des gros projet depuis 3ans, sans aucun souci.
Le 21/09/2016 à 15h07
Le 15/09/2016 à 15h51
Le 15/09/2016 à 15h54
(surtout qu’on peut utiliser redux avec angular2 mais bon…)
Le 15/09/2016 à 15h59
Ionic 2 utilise Angular 2 aussi.
J’ai utilisé le 1 et la transition vers le 2 est difficile forcément. C’est comme passer de Symfony 1.4 à 2. Il y a énormément de changement qu’il faut appréhender.
Mais TypeScript amène beaucoup de chose intéressante pour peine qu’on s’y penche un peu plus de 5min. Google a fait un guide d’ailleurs pour aider https://angular.io/styleguide
Le 15/09/2016 à 16h45
Le 15/09/2016 à 18h31
Le 15/09/2016 à 19h25
Désolé, je ne comprends pas la bêtise.
Angular 1 était un très bon framework à l’époque
React est le nouveau maitre. Redux qui vient se greffer sur React est super simple à utiliser en plus d’être extrêmement léger.
Angular 2 arrive après la bataille. Il vient de sortir, il n’a encore rien prouver… bien au contraire.
C’est tout.
Le 15/09/2016 à 19h50
Tu mélanges un peu les notions et les concepts la… React et Redux ne se comparent pas a Angular. D’ailleurs tu peux utiliser React et Redux dans Angular 2… http://blog.rangle.io/getting-started-with-redux-and-angular-2/
Le 15/09/2016 à 20h15
Mouais vu la merde que c’était pour développer avec Angular 1 avec du code tout sauf intuitif, une communauté avec plus de problèmes que de solutions et mon extrême méfiance envers les produits pour les devs soutenus par Google qui finissent à la poubelle du jour au lendemain, bah ça sera sans moi.
Pour ceux qui ne connaissent pas il y a http://aurelia.io, qui est une alternative très cool, développée avec sérieux et qui va dans le bon sens selon moi. Ils ont sorti la version 1.0 cet été. Et ce n’est pas un projet qui devrait tomber aux oubliette vu que ceux qui sont derrière ont l’intention de gagner leur vie avec avec du support/consulting, etc… commme pour leur produit Durandal.
D’ailleurs le mec à l’origine du projet était un développeur sur Angular 2 qui a quitté l’équipe à cause de visions différentes des choses.
Le 15/09/2016 à 20h20
C’est sûr, tu peux faire de la merde très facilement avec AngularJS, pour une raison assez simple : ES5 (Javascript supporté par les browsers actuellement) date un peu trop et manque certains mécanismes de structuration du code. Heureusement, ES6, et la surcouche Typescript également, redonne une couche de modernité à tout ça.
Pour en revenir à AngularJS, on l’utilise dans ma banque dans toutes nos applications sans soucis (à part les perfs où là c’est plus chaud). En respectant quelques principes (comme ceux de johnpapa https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md ) on a même du code très bien structuré.
Angular 2 apporte une approche orientée composant très bien venue, Typescript et également des perfs bien meilleures. Pour avoir un peu jouer avec, ça paraît vraiment cool.
A voir si la communauté suit " />
Le 15/09/2016 à 20h34
AngularJS a vécu 4 ans (1.0.0 sorti en juin 2012), et je pense pas que le support va s’arrêter du jour au lendemain. Après c’est sûr, Google a tendance à abandonner (ou faire évoluer, question de point vue), assez rapidement ses frameworks.
Après c’est une questions de taille de communauté, de ressources disponibles sur le marchés du travail etc. Et pour le coup, Angular est bien placé.
Y a qu’à faire un petit comparatif : GoogleDe plus, j’ai souvent entendu des boîtes de consulting nous dire qu’il faut considérer les interfaces front comme du jetable…elles vivent 4-5 ans, et après on les refait. Ca tombe bien, c’est l’espérance de vie d’un Angular X " />
Le 15/09/2016 à 21h35
@aXi ta comparaison “google” entre Angular et Aurelia est juste… Drôle.
Pour information, le framework s’appel Aurelia et non Aurelia.io, donc ta comparaison n’est pas valable (mais je t’accordes que cela serait faussé avec “Aurelia” tout court).
Je te conseil vivement de comparer (réellement) le code Angular2 et Aurelia, tu comprendras pourquoi Aurelia est vraiment intéressant. Ensuite, chacun ses préférences. Pour ma part j’ai choisi Aurelia.
Le 15/09/2016 à 22h03
La 2.0.0 sortie du chapeau 1 jours après une RC.7 qui n’a de RC que le nom. Ça fait 5 mois que je suis sur Angular et les RC pour moi c’est des alphas, donc la venu de finale est quasiment une surprise accompagné d’un fou rire quand j’ai lu ça :
We heard loud and clear that our RC labeling was confusing.
Après, j’avoue qu’une fois stabilisé, ça sera certainement pas mal du tout, c’est encore assez loin. Mais cette 2.0 est juste du vent.
Le 15/09/2016 à 22h06
Le 15/09/2016 à 23h24
Pour les curieux, jeté un coup d’oeil sur VueJSEn gros, un React en plus simple, retro compatible, evolutif, plus rapide dans la plupart des scénarios.
Je n’ai pas été voir si Angular 2.0 continuait de faire du dirty cheking pour assurer le two way binding. Et quid des termes barbares (transclusion) ou de l’intégration avec jQuery par exemple ?
Le 16/09/2016 à 04h40
Sinon pour faire des (très) grosses apps d’entreprises il y ahttp://qooxdoo.org
Le 16/09/2016 à 06h20
Le 15/09/2016 à 14h22
heureux d’apprendre que le javascript est supporté. Pour avoir regardé de loin les news d’angular 2, je croyais que c’était du typescript only, ce qui n’avait pas ma faveur à priori.
Reste plus qu’à tester concrètement pour voir ce que ça a dans le ventre.
Le 15/09/2016 à 14h29
" /> 6 ans déjà !!!
Le 15/09/2016 à 14h32
Tu peux faire du typescript en tapant que du js vanilla si ca te chante :) mais ça sera bien domamge tellement TS fait du bien à ES5
Le 15/09/2016 à 14h33
Perso j’attends l’annonce d’Angular 3 avant de me mettre à la 2 " />
Le 15/09/2016 à 14h36
Toujours pas eu l’occasion de faire de l’angular sur un projet…
J’ai juste un peu joué avec.
Le 15/09/2016 à 14h36
2eme paragraphe.
Il manque un mot “pistes pour l’évolution de son framework … dans les prochains” ??? (jours/mois/années) ?
" />
On dirait qu’il n’y a plus le bouton signalement, même après un scrolling de l’article dans Firefox.
Le 15/09/2016 à 14h37
l’url me dit que le site ne peut fournir de connexion securisee…
Le 15/09/2016 à 14h38
Je lui souhaite bonne chance face à des trucs moderne comme Redux
Le 15/09/2016 à 14h39
Pour avoir testé la bêta c’était vraiment pas mal, j’attendais justement la version final pour un gros projet.
Le 15/09/2016 à 14h41
Il y a Polymer, du même Google, qui me semble plus léger, aussi avancé quand au support des nouvelles technologies Web, et avec beaucoup plus de maturité et de composants….
Je me demande qui va gagner chez Google…
Le 15/09/2016 à 14h53
C’est drôle, le site de la doc est en angular 1 encore.
Le 15/09/2016 à 14h59
C’est pas le même site pour Angular 2 > https://angular.io
Et la doc https://angular.io/docs/ts/latest/
Vraiment une très bonne nouvelle :)
Le 15/09/2016 à 15h09
Bonne expérience sur la version 1, j’ai hâte de tester ça sur un nouveau projet et pourquoi pas en profiter pour tester Material design.
Le 15/09/2016 à 15h17
Qui a testé depuis les versions de dév ? Passé l’effet waouh comme Angular 1, c’est prometteur ou pas ?
Le 15/09/2016 à 15h21
Polymer semble limité à des composants web. Angular 2 est un framework plus complet (navigation, tout ça…). A noter aussi Angular Material 2 qui reprend le material design pour Angular 2. Là on a une concurrence directe avec Polymer, d’ailleurs je ne comprend pas trop pourquoi ne pas réutiliser Polymer directement…
Après je dis ça, j’ai juste fait 2⁄3 trucs en dilletante cet été.
Question qui me taraude l’esprit pour ceux qui ont fait de l’Angular 1 en milieu professionnel sur des gros projets (genre le projet qui dure plusieurs années), c’est comment niveau maintenance sur le long terme ? Y a des éditeurs de code très puissants genre ce que fait eclipse avec java (mass refactoring, proposition de correction sur erreur de compile…) ? Parce que pour le peu que j’en ai vu, on monte des webapp rapidement certe mais sur le long terme c’est pénible, y a peu d’automatismes de l’éditeur. Cela me semble à l’opposé de GWT, plus long à mettre en place (ce n’est pas un framework mais un toolkit) mais on a la facilité de maintenance de java.
Des pros ont des trucs et astuces à partager pour des gros projets ? genre les choses à faire… ou surtout pas ? :)
Le 15/09/2016 à 15h24
Il y a Polymer, du même Google, qui me semble plus léger, aussi avancé quand au support des nouvelles technologies Web, et avec beaucoup plus de maturité et de composants….
Le 15/09/2016 à 15h25
Bon courage pour la migration angular 1 vs angular 2.
Btw angular c’est utilisé chez Google?
Le 15/09/2016 à 15h28
Le 15/09/2016 à 15h41
Je me suis bien amusé avec Angular, c’est bien le petit framework du flemmard pour créer un backend onepage dynamique en JS de maniere propre et organisé comme si on utiliserais un framework php :)
Juste domage a force d’être au chômage de voir passer tout ces frameworks sans jamais prendre le plaisir a essayer dans le monde professionnel.
Apres j’imagine qu’outre Angular pour monter le niveau d’exigence, faut essayer meteor, ionic et compagnie ou pourquoi pas en prendre un peu de tout, surtout si une app est orienté temps réel et distribution sur plusieurs supports " />
Le 15/09/2016 à 15h41
Je connais des gens qui bossent avec Angular sur des vrais projets.
Résultat des courses, c’est la m totale. Personne n’est vraiment expert, chacun fait sa loi dans son coin en pensant être expert, les déploiements c’est la fête du slip, etc.
C’est une techno à la mode, mais en fait tout le monde bidouille deux trois trucs avec sans vraiment y croire.
Je connais aussi des gens qui ont essayé de passer sur la version 2. Ils ont failli se pendre.