Developpez.com

Le Club des Développeurs et IT Pro

Angular 4.0 est disponible, la nouvelle version du framework JavaScript de Google

Promet des applications plus petites et plus rapides

Le 2017-03-24 15:31:36, par Michael Guilloux, Chroniqueur Actualités
Attendue depuis le 1er mars, conformément à un calendrier établi par Google, la version stable d’Angular 4.0 vient enfin d'être mise à la disposition des développeurs. Avant d'entrer dans les nouveautés de cette version, l'équipe Angular annonce aux développeurs qu'Angular 4 est compatible avec Angular 2.x.x pour la plupart des applications, histoire de les rassurer après l'expérience douloureuse de rupture de compatibilité entre Angular 1 et Angular 2 ; ce qui a été causé par la réécriture totale du framework avec de nouvelles API et de nouveaux modèles.

Concernant les nouveautés de cette version, les développeurs doivent s’attendre à des applications Angular plus petites et plus rapides. Cela a été rendu possible grâce à deux changements essentiels. D’abord, des modifications au code AOT généré permettent de réduire la taille du code de vos composants d’environ 60 % dans la plupart des cas. Cela est plus notable pour les applications plus complexes. Avec les releases candidates, des développeurs ont également indiqué que la migration vers Angular 4 leur a permis de voir une réduction, de plusieurs centaines de kilo-octets, de la taille de leurs paquets en production.

Pour les développeurs qui n’utilisent pas les animations dans leurs applications, les gains seront encore plus notables. Les animations ont désormais leur propre paquet et ont donc été retirées du paquet @angular/core. Cela signifie que le code supplémentaire qu’elles généraient ne sera plus inclus dans vos paquets de production. Votre code sera donc plus léger.

En passant à Angular 2, le framework de Google a été réécrit avec TypeScript, le surensemble JavaScript typé de Microsoft. L’un des objectifs de l’équipe Angular pour cette nouvelle version était donc de passer de TypeScript 1.8 à TypeScript 2.1 ou même 2.2. Cela a été fait avec Angular 4 et permet du coup au framework de Google de profiter de certains avantages. Passer à la version plus récente de TypeScript signifie en effet une meilleure vérification de type dans une application et de meilleures performances pour ngc, le compilateur pour les templates Angular.

Entre autres nouveautés, on note encore qu'Angular Universal, le projet qui permet aux développeurs d'exécuter Angular sur un serveur, est également à jour et s’aligne sur la nouvelle version du framework de Google. Vous trouverez bien d’autres petites nouveautés sur le blog Angular.

Angular 4 est la première version majeure du framework JavaScript de Google après les changements annoncés en décembre dernier. Pour ceux qui auraient manqué un épisode, il n'y a pas eu d'Angular 3. Google a préféré passer directement à la version 4.0 pour diverses raisons. Cela s'explique notamment par la volonté d’aligner tous les paquets Angular sur le même numéro de version. Ce qui sera plus facile à maintenir et aidera à éviter toute confusion à l'avenir. Il faut en effet noter que les bibliothèques Angular de base sont hébergées dans un seul dépôt GitHub, et elles étaient toutes à la version v2.3.0 en décembre dernier, sauf le paquet @angular/router qui était à la version v3.3.0. Faire un bond vers Angular 4 permet donc juste d'aligner tous les paquets sur le même numéro de version.

Google prévoit de sortir une version majeure de son framework tous les six mois, ce qui annonce donc la sortie d'Angular 5.0 pour septembre ou octobre prochain. Entre-temps, plusieurs mises à jour seront apportées à la nouvelle version du framework.

Source : Blog Angular

Et vous ?

Que pensez-vous de cette nouvelle version ?
Quelles nouveautés appréciez-vous le plus ?

Voir aussi :

Il n'y aura pas d'Angular 3, Google prévoit de passer à la version 4.0 prévue pour mars 2017 et qui devrait être compatible avec Angular 2
NativeScript 3.0 : le framework de développement mobile cross-platform avec JavaScript prévoit le support d'Angular 4, sa sortie est prévue en avril
  Discussion forum
24 commentaires
  • grunk
    Modérateur
    Passage de Angular 2.4 à 4.0 sans problème de mon coté.

    la nouvelle syntaxe if/else dans les template peut vraiment être pratique !

    Il n'ya à que le passage à angular-cli 1.0 qui m'a posé problème avec ng build --prod qui plantait lamentablement alors que ng serve marche correctement.
    La faute aux membres du component utilisé dans les templates html qui doivent désormais être en public au lieu de privé. (bon courage si vous avez plusieurs dizaines de components).

    Je trouve le rythme effréné de mise à jour compliqué à suivre. Difficile de passer une semaine sans devoir mettre à jour quelque choses si on veux pas être largué
  • Marco46
    Expert éminent sénior
    La plupart des intervenants sur ce fil devraient peut être songer à lire la définition de semver. C'est le système de versionning utilisé par Angular.

    Il faut également comprendre que AngularJS et Angular sont deux frameworks différents et distincts. Passer de AngularJS 1.x vers Angular est clairement une migration importante. Passer de Angular x.y.z a Angular x+1.y.z est seulement une montée de version d'une dépendance.

    Concernant la vitesse des montées de version, c'est comme ça le développement moderne front. Ça bouge tout le temps, si l'application a une durée de vie importante il est critique d'effectuer les montées de version et les migrations au fil de l'eau le plus tôt possible. Il faut éviter de prendre de la dette technique car comme certains l'ont déjà mentionné, cela coute moins cher de résoudre ces problèmes rapidement plutôt que de laisser tout s'accumuler et de chercher à tout faire d'un coup.
  • hotcryx
    Membre extrêmement actif
    Je ne pense pas qu'on doit suivre toutes les releases.
    On n'en finirait plus avec Bootstrap, Jquery...
  • T`lash
    Membre confirmé
    Envoyé par poma88
    C'est quoi cette mode de je passe du de la version 2 à la version 42 ... pourquoi ? Exemple avec windows (il y a d'autres exemples)
    Sachant que pour Windows Microsoft avait une raison on ne peut plus valable : de nombreux systèmes testent la version de Windows pour adapter leur fonctionnement, et il est courant de comparer le début de la chaîne à "Windows 9" pour savoir s'il s'agit de Windows 95 ou 98. Cela peut paraître étrange de tenir compte de versions aussi anciennes, mais il y a encore beaucoup de logiciels en fonction datant du début des années 2000 qui font ce genre de tests.

    Il n'était donc pas possible de passer de Windows 8.1 à Windows 9.
  • SurferIX
    Membre chevronné
    Envoyé par dukoid
    Non désolé de t'apprendre que ce n'est pas intéressant sur un post qui parle de l'ACTUALITÉ Angular (le reste c'est du blabla de gamin, j'ignore)
    Ca n'est pas intéressant pour toi. Ecris "je m'en fous", et continue à manquer de respect aux autres, c'est ton affaire, mais ne les implique pas avec toi en disant "on s'en fout". Je ne fais pas partie de ta bande (et j'en suis bien content).

    Et quand je vois que d'autres se sont bien penchés sur d'autres technos et qu'ils en parlent, alors je suis content, au moins ça fait partie des (trop) rares fois où il y a du constructif.

    Un peu comme si sur un forum Renault, quelqu'un disait je reste sur "Peugeot". Et là j'irais me renseigner sur Peugeot : c'est ouvert et constructif, ça me plaît.
    Pas d'esprit fermé qui en plus croit que tout le monde pense comme lui et sort "on s'en fout de Peugeot ici c'est Renault"...

    Allez hop -> désabo de la discussion, et petite recherche sur VueJS, merci aux autres (et non, "on" ne s'en fout pas... je blague : eh non, je ne m'en fous pas... )
  • marc.collin
    Membre émérite
    c'est certain, mais il y a aussi d'autre framework plus simple je trouve tel que smart client ou bien vuejs (qui progresse très rapidement).
  • dukoid
    Membre expert
    faut évoluer sinon on se fait dépasser....
  • marc.collin
    Membre émérite
    je rajouterais que plus tu attends de mettre à jour tes libs... plus ça sera difficile.
  • dukoid
    Membre expert
    exactement marc. suivez l'évolution, passez un peu de temps pour mettre à jour et vous en gagnerez pour plus tard
  • poma88
    Membre régulier
    C'est quoi cette mode de je passe du de la version 2 à la version 42 ... pourquoi ? Exemple avec windows (il y a d'autres exemples)