BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Quelques détails sur AngularJS 2.0

Quelques détails sur AngularJS 2.0

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

Contenu Éducatif

BT