Angular 2.0 est disponible en version bêta
Le framework JavaScript annonce un gain de vitesse impressionnant

Le , par Michael Guilloux, Chroniqueur Actualités
Mise à jour le 15 / 09 / 2016 : La version finale d’Angular 2.0 désormais disponible, l’équipe Angular évoque déjà les prochaines nouveautés et améliorations du framework JavaScript

Deux ans après avoir été annoncé, Angular 2.0 est désormais disponible en version stable. La réarchitecture du framework JavaScript libre et open source développé par Google apporte des gains de performances énormes. Angular 2.0 devrait également permettre de développer les applications plus rapidement et les rendre plus maintenables. Mais la rupture avec la version 1 inquiète de nombreux développeurs. Pour faciliter la migration vers Angular 2, Google devrait donc publier un outil open source, déjà utilisé en interne, pour aider les développeurs à migrer semi automatiquement leurs applications, même en cas de changements de rupture. Il existe par ailleurs un guide de Telerik pour aider les développeurs à « convertir » leurs connaissances Angular 1 vers Angular 2.

L’équipe Angular évoque déjà les nouveautés et améliorations qui pourraient arriver bientôt dans le framework. Il s’agit entre autres des Web Workers qui devraient quitter la phase expérimentale, mais également d’Angular Material 2, une suite de composants de material design pour Angular 2. L’équipe prévoit aussi de travailler plus sur les animations et d’améliorer le support pour plus de langages, y compris Java et Go. Les développeurs pourront également disposer de plus de guides et exemples pour différents cas d’utilisation spécifiques d’Angular 2.

Sources : Blog AngularJS, Changelog (GitHub), Blog Juri Strumpflohner

La version 2.0 d’Angular, le framework JavaScript libre et open source développé par Google, vient d’atteindre la phase bêta. Ce qu’il faut noter dans cette nouvelle version, c’est une réécriture et une réarchitecture du framework qui ont permis d’introduire de nombreux avantages. Gain de vitesse impressionnant et de meilleures capacités de développement mobile sont ce qui caractérise Angular 2.0 dont la version finale est prévue au début de l’an prochain.

Angular 2.0 est beaucoup plus rapide qu’Angular 1. La vitesse du framework aurait été multipliée par huit, d’après Brad Green, directeur de l’ingénierie de Google en charge du framework. Ce gain de performance peut être observé au niveau du rendu et de la mise à jour des pages. En effet, la nouvelle version fournit un support pour accélérer le chargement initial des pages grâce à un prérendu côté serveur. Elle introduit encore une compilation hors-ligne et unique qui permet d’accélérer le démarrage des applications.

À cela, il faut ajouter un algorithme pour une détection ultra rapide des changements, que ça soit pour les grandes applications de bureau ou pour les applications sur les appareils à faible mémoire comme les téléphones mobiles. Comme autre expérience introduite avec Angular 2.0, vous pourrez exécuter tout votre code et une bonne partie du framework dans un processus séparé via des Web Workers, a expliqué Brad Green dans un billet le mois dernier. Au-delà des applications web pour bureau, Angular 2 a été conçu de sorte à bien fonctionner également pour les applications mobiles web, hybrides et natives.

Comme l’explique le directeur de l’ingénierie de Google chargé d’Angular, la phase bêta signifie que le framework peut être utilisé pour construire avec succès de grandes applications. Les développeurs peuvent donc dès maintenant envisager de construire des applications avec Angular 2 ou mettre à niveau leurs applications Angular 1 existantes. Google propose pour cela deux bibliothèques : ngUpgrade et ngForward.

La première bibliothèque permet aux développeurs de commencer à écrire des composants Angular 2 dans leurs applications Angular 1 existantes, et ensuite remplacer les composants Angular 1 au fur et à mesure qu’ils sortent de nouvelles versions de leurs applications. ngUpgarde facilite ainsi la transition entre les deux versions en permettant de tirer parti des avantages d’Angular 2 tout en conservant les fonctionnalités d’Angular 1. Les développeurs pourront par exemple profiter de l’amélioration de la vitesse et des API d’Angular 2 immédiatement alors qu’ils remplacent des composants Angular 1 pendant les sorties de nouvelles versions de leurs applications.

En ce qui concerne la deuxième bibliothèque ngForwrad, elle cible les développeurs qui, pour une raison ou une autre, voudront éviter d’avoir à la fois des bibliothèques Angular 1 et 2 exécutées simultanément dans leurs applications. ngForward vous permet d’écrire des applications Angular 1 en utilisant les conventions et styles d’Angular 2. Les développeurs pourront ainsi s’habituer à la nouvelle version, et auront beaucoup moins de travail à faire lorsqu’ils seront prêts à migrer vers Angular 2.


La bêta d’Angular 2.0 annonce aussi de manière imminente la sortie de la version finale. Pour cela, l’équipe de développement a déjà abordé la dernière ligne droite pour apporter quelques améliorations supplémentaires et faciliter l’apprentissage de la nouvelle version. On pourra citer dans leur liste de tâches les points suivants :

  • réduire la taille des binaires Angular ;
  • rendre la CLI (Command Line Interface) Angular utilisable tout au long du processus de développement ;
  • développer une API qui répond aux besoins des développeurs pour le Component Router ;
  • un support pour les animations ;
  • un support I18n et L10n ;
  • plus de documentation, en particulier sur l’utilisation d’ES5/ES6 ;
  • une meilleure performance de démarrage et d’exécution ;
  • un guide de style architectural ;
  • amélioration des tests unitaires et des tests de bout en bout ;
  • plus de support pour le web mobile et les applications mobiles installables ;
  • des composants Material Design pour Angular 2 ;
  • une plateforme d’outils pour un support d’IDE avancé ;
  • un meilleur support pour ECMAScript 6 et le compilateur Babel.


Page AngularJS pour commencer à apprendre la nouvelle version

Source : Blog AngularJS

Et vous ?

Utilisez-vous ce framework JavaScript ? Que pensez-vous de cette nouvelle version ?

Voir aussi

AngularJS : les développeurs dans le trouble au sujet de la version 2.0, quel va être l'avenir du framework JavaScript de Google ?
AngularJS : faut-il aller vers la version 2.0 ? Un point sur les coûts de migration vers cette nouvelle version
Angular 2 sera basé sur TypeScript : convergence de AtScript et TypeScript 1.5, c'est une collaboration entre Google et Microsoft


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de voyager57 voyager57 - Membre du Club https://www.developpez.com
le 16/12/2015 à 15:48
Ils essayent un peu de pousser l'utilisation de TypeScript, or j'aurais aimé utilisé le simple JS. J'attend de voir si cela ne pose pas de problème pour utiliser ce framework.
Avatar de amine.hirri amine.hirri - Membre habitué https://www.developpez.com
le 16/12/2015 à 16:20
En effet, la nouvelle version fournit un support pour accélérer le chargement initial des pages grâce à un prérendu côté serveur.
J'ai l'impression que l'histoire se repète!
  • Au début, la construction du rendu visuel se fait côté serveur, ce qui posait un certain nombre de problèmes au niveau des performances.
  • Le monde adopte une nouvelle stratégie de développement qui donne plus de responsabilités au navigateurs (et du JavaScript) [gain en performance et en volume d'échanges réseau]
  • Là, on revient au mode classique!!!


J'avoue que ça m'a beaucoup surpris
Avatar de Arno_94 Arno_94 - Membre actif https://www.developpez.com
le 16/12/2015 à 16:20
Je suis impatient de tester ça.

Pour répondre à Voyager57, dans la section tutorial (lien dans l'article), il y a 3 façons d'aborder Angular 2 (TypeScript, Dart ou...javascript). A toi les joies d'Angular 2
Avatar de frfancha frfancha - Membre confirmé https://www.developpez.com
le 16/12/2015 à 17:00
C'est très très marketing quand même...

<<il faut ajouter un algorithme pour une détection ultra rapide des changements>>

détection ultra rapide... ben forcément ce n'est plus détecté du tout cela fonctionne autrement

<<La vitesse du framework aurait été multipliée par huit>>

or, comme dit justement:

<<c’est une réécriture et une réarchitecture du framework>>

En fait, ce n'est tout simplement plus le même framework et les comparer a du sens mais au même niveau que comparer Angular 1 et React par exemple, Angular 2 n'est pas une amélioration de Angular 1 mais vraiment une autre proposition qui utilise le même nom pour ne pas donner l'impression de laisser tomber les investissements faits par les utilisateurs actuels.

Plus, et c'est heureux, le "truc" du ngForward pour inclure des morceaux de angular 1, mais comme on pourrait écrire un composant qui permettrait d'en inclure dans un autre framework.
Avatar de JackJnr JackJnr - Membre confirmé https://www.developpez.com
le 16/12/2015 à 17:33
Citation Envoyé par frfancha Voir le message

<<c’est une réécriture et une réarchitecture du framework>>

En fait, ce n'est tout simplement plus le même framework et les comparer a du sens mais au même niveau que comparer Angular 1 et React par exemple, Angular 2 n'est pas une amélioration de Angular 1 mais vraiment une autre proposition qui utilise le même nom pour ne pas donner l'impression de laisser tomber les investissements faits par les utilisateurs actuels.
En même temps c'est une évolution (ou une réécriture si tu veux) du framework basée sur l'existant. Je ne vois pas comment dire que ce n'est pas une nouvelle version...

Utilisant la V1 actuellement je serais heureux de découvrir la version finale
Avatar de SylvainPV SylvainPV - Rédacteur/Modérateur https://www.developpez.com
le 16/12/2015 à 23:41
Citation Envoyé par amine.hirri Voir le message
J'ai l'impression que l'histoire se repète!
  • Au début, la construction du rendu visuel se fait côté serveur, ce qui posait un certain nombre de problèmes au niveau des performances.
  • Le monde adopte une nouvelle stratégie de développement qui donne plus de responsabilités au navigateurs (et du JavaScript) [gain en performance et en volume d'échanges réseau]
  • Là, on revient au mode classique!!!

Non on ne revient pas au rendu server-side. Le rendu server-side est optionnel et sert uniquement dans deux cas: les utilisateurs ayant JS désactivé, et le chargement critique de la première page pour les autres. Pour tout le reste, le rendu se fait côté client. Et dans les faits, je pense que très peu de projets Angular 2 se donneront la peine d'implémenter le rendu server-side. C'est vraiment se donner beaucoup de peine pour un gain quasiment imperceptible.
Avatar de goldbergg goldbergg - Membre actif https://www.developpez.com
le 17/12/2015 à 9:01
Le rendu coté serveur sert aussi au référencement des page par google (entre autre) avec l'utilisation des ancres commençant par "#!" par exemple.
Avatar de Sodium Sodium - Membre éprouvé https://www.developpez.com
le 17/12/2015 à 9:06
Bonjour,
Auriez-vous des ressources à conseiller pour tritouiller un peu Angluar 2 sans avoir touché à la première version ?
Avatar de autran autran - Rédacteur https://www.developpez.com
le 17/12/2015 à 10:02
@ sodium
Il est u peu tôt pour avoir un retour de dev, ça n'est que la bêta.
J'attends une version définitive pour refaire une version de mon tuto en V2.
De plus, la sortie avec la version définitive d'un guide architectural permettra de cadrer un peu les choses, car aujourd'hui chacun prend un peu ce qu'il veut dans le framework pour développer.
Avatar de SylvainPV SylvainPV - Rédacteur/Modérateur https://www.developpez.com
le 17/12/2015 à 10:51
Je l'utilise sur un proto pour mon prochain projet pro. Ça fonctionne déjà bien avec une base Babel. Mais ça manque un peu de doc concernant l'architecture, la détection de changements, et les plug-ins de Angular 1 à recycler

Les ressources que j'utilise :
https://github.com/timjacobi/angular2-education
https://egghead.io/series/angular-2-fundamentals
et bien sûr la doc toute neuve pour la beta : https://angular.io/docs/js/latest/index.html
Contacter le responsable de la rubrique Accueil