# Sortie d’Angular 9 

par Alexandre Nicolas et Romain Brochot

Angular 9 est sorti le 6 février 2020. Après une version 8 où le nouveau compilateur n’était pas activé par défaut, c’est bel et bien le cas avec la version 9. Ce nouveau moteur de rendu et de compilation devrait, entre autres, améliorer les performances et réduire la taille des livrables et supporte désormais TypeScript en version 3.7 (Bonjour Optional Chaining !).

Avant Ivy, le build “Ahead-of-Time” (AOT), qui prenait un peu de temps, n’était activé que pour les livrables de production. Il est désormais activé par défaut avec Ivy pour les builds de développement qui ne seront donc plus en “Just-in-Time”. Le build AOT permet de compiler une application au moment du build plutôt qu’à l’exécution dans le navigateur. L’avantage sera de détecter certaines erreurs en amont directement sur le poste de développement. Précisons tout de même que, sans Ivy, ce build AOT pouvait être testé dans le cadre d’une intégration continue (Jenkins par exemple).

De plus, Ivy a été amélioré depuis la v8. Celui-ci évince les composantes non utilisées d’Angular du build final. On se retrouve donc avec un bundle plus léger !

Pour finir avec Ivy, il donne désormais accès à des fonctions de debug en mode développement via l’objet « ng ». Exit la pléthore de console.log() ! 🙂

Outre ce nouveau compilateur, les fameuses déclarations “entryComponents” sont désormais dépréciées. Elles étaient utilisées pour les composants dynamiques qui n’étaient pas référencés via un template HTML (telles que les boîtes de dialogue modales). Attention, Angular n’enlèvera pas ces déclarations de votre code existant, il faudra bien penser à les retirer des modules après la mise à jour vers la version 9.

Enfin, pour faire le lien avec Alfresco et le nouveau framework ADF basé sur Angular 7 jusqu’à présent, Angular 9 devrait être supporté dans la future version 4.0.0 de leur nouveau framework. (https://github.com/Alfresco/alfresco-ng2-components/milestone/36)

Plus d’infos sur ces nouveautés ici et !

# Discord passe à Rust [Rust]

par Mathieu Sanchez

Un nouveau retour d’expérience sur le langage Rust, cette fois chez Discord.

L’application de conversation instantanée bien connue des gamers, aux millions d’utilisateurs, a récemment changé l’implémentation de l’un de ses services, initialement en Go, pour Rust. Cet article met en lumière l’avantage d’un langage sans garbage collector ni runtime dans une application où les performances sont critiques.

# Les conteneurs continuent leur progression dans le monde Windows [Docker, Windows, Kubernetes]

Par Guillaume Poittevin

Docker s’appuie historiquement sur les LXC (LinuX Container), qui, comme son nom l’indique, est une technologie disponible sous Linux uniquement. Docker for Windows et Docker for Mac sont des facilitateurs permettant de démarrer des conteneurs Linux sur ces systèmes par la manipulation de conteneur Linux dans une machine virtuelle Linux démarrer dans Hyper-V ou Virtualbox. Bien que très pratiques ces solutions sont destinées aux développeurs pour tester et utiliser des conteneurs Linux sur des systèmes a priori non compatibles.

Dans le même temps Docker et Microsoft travaillent de concert pour proposer des conteneurs applicatifs Windows. Cette solution fonctionne et est déjà disponible avec Windows Server et Docker Entreprise.

Fin janvier, Google a annoncé sur son blog que sa plateforme Google Kubernetes Engine était désormais capable de faire tourner des conteneurs applicatifs Windows directement dans des pods dédiés.

https://github.com/openlayers/openlayers/releases/tag/v6.2.0