BT

Quelques détails sur AngularJS 2.0

| par David Iffland Suivre 4 Abonnés , traduit par Simon Courtois Suivre 0 Abonnés le 18 nov. 2014. Durée de lecture estimée: 4 minutes |

Lors de la conférence ng-europe, le mois dernier à Paris, l'équipe Angular a donné quelques détails sur la future version, Angular 2.0. Cette dernière s'éloigne clairement de la version 1.X sans pour autant fournir de mécanisme de migration et se base sur un nouveau langage, AtScript.

Les développeurs familiarisés avec Angular 1.X seront confrontés à un framework totalement différent et devront apprendre sa nouvelle architecture. Durant une session dédiée aux changements de la version 2.0, Igor Minar et Tobias Bosch ont présenté la nouvelle syntaxe pour les templates :

<input type="text" [value]="firstName">
<button (click)="addPerson()">Add</button>

La nouvelle syntaxe attache les données aux propriétés des éléments et non à leurs attributs. Cela permet par exemple d'écrire ceci :

<input type="checkbox" [checked]="someProperty">

Cela ressemble à du HTML standard mais l'élément de type checkbox n'expose pas d'attribut checked. Le nouveau moteur de template est lié aux propriétés même lorsque celles-ci ne sont pas exposées sous forme d'attributs par le DOM.

Cette nouvelle syntaxe de template est un changement relativement minime comparé aux bouleversements provoqués par la nouvelle architecture. Michael Bromley, présent à la conférence, décrit certains de ces changements majeurs. La version 2.0 élimine les concepts suivants issus de 1.X :

  • les contrôleurs
  • les objets de définition de directives
  • $scope
  • angular.module
  • jqLite

Igor s'explique sur l'élimination de jqLite :

En 2.0, nous n'utiliserons plus du tout de wrapper sur le DOM au sein du framework. Nous traiterons directement avec le DOM. Ce dernier s'est beaucoup amélioré depuis que nous avons commencé, nous n'avons donc plus autant besoin d'une couche de compatibilité entre les différents navigateurs qu'avant. Nous pouvons simplement traiter avec le DOM mais si vous voulez utiliser jQuery et que vous en avez besoin, ce n'est pas un problème.

L'un des buts de 2.0 est d'améliorer l'expérience de développement d'applications Angular. Lors de sa Keynote, le deuxième jour, Miško Hevery, le père d'AngularJS, a décrit comment la création d'AtScript accomplirait cela.

AtScript est une sur-couche de TypeScript, language créé par Microsoft. TypeScript ajoute les types au code JavaScript et AtScript étend cette idée en ajoutant les annotations et l'introspection.

Une annotation permet au développeur "d'exprimer l'intention" d'une classe spécifique. Plutôt que d'écrire du code générique pour créer une directive, les développeurs peuvent simplement écrire une classe et dire à AngularJS "ceci est une directive". Les capacités d'introspection permettent au framework de vérifier les types durant l'exécution.

Mais, AtScript est facultatif. Il n'existe pas de règle de développement d'application Angular 2.0 dans AtScript. Selon Miško, la communauté existante et les bibliothèques déjà écrites en JavaScript font que "laisser le choix de l'utiliser ou non est très important". AtScript étant compilé en EcmaScript 5 (EC5), les développeurs peuvent directement écrire du code Angular 2.0.

Lors d'une session Q/R, les développeurs ont demandé combien de temps Angular 1.3 serait maintenu. Brad Green a répondu :

Vous pouvez vous attendre à qu'une fois Angular 2.0 sorti, nous maintenions la version 1.3 pendant 1.5 à 2 ans en ce qui concerne les bugs et failles de sécurité.

L'équipe a également indiqué qu'aucun processus de migration d'Angular 1.X vers 2.0 n'était prévu pour le moment, sans toutefois fermer la porte sur la question. Aucune date de publication n'a été annoncée pour le moment mais l'avis général se porte sur une sortie vers fin 2015.

Brad Green a également mentionné qu'Angular 2.0 supportera uniquement les navigateurs "evergreen" (mis à jour automatiquement sans intervention de l'utilisateur), sans donner plus de détails. Il a indiqué que l'équipe "essaie de courrir vers là où la balle sera, plutôt que vers là où elle se trouve aujourd'hui".

Les développeurs étaient partagés face à ces importants changements. Sur Hacker News, zak_mc_kracken indique que :

Bien que ce soit toujours appelé "Angular", cette nouvelle version n'a pratiquement rien à voir avec la précédente, c'est un tout nouveau framework. Je trouve cela un peu triste de me dire que toutes mes connaissances acquises sur Angular 1 vont devenir obsolètes avec la version 2.0. Si celle-ci est aussi révolutionnaire que la version 1 à son époque, cela va être une intéressante période.

Des vidéos de la conférence étaient disponibles sur YouTube mais ont rapidement été supprimées. D'après le compte Twitter de ng-europe, "toutes les vidéos seront postées dans les deux semaines à venir". En attendant, les développeurs peuvent consulter les Docs sur le Design d'Angular 2.0 et surveiller le dépôt Github.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT