Valerio Como

← Back to blog

Published on Wed Feb 19 2020 09:20:00 GMT+0000 (Coordinated Universal Time) by Valerio Como

Angular 9

What’s new in Angular 9

Angular 9

Angular 9 è tra noi. E Ne hanno parlato tutti. John Papa, schiere di Microsoft MVP e di Google Developer Expert. Tutti. Davvero tutti.

La lunga attesa e le molteplici RC che si sono susseguite hanno alimentato l’hype. La precedente versione di Angular, la versione 8 per intenderci, è stata pubblicata a metà 2019 e, come avevo scritto in questo articolo, preannunciava alcune interessanti novità che sono state rilasciate in questo ultima versione. Vediamo quali funzionalità sono state sviluppate in questi mesi dal team di sviluppo di Angular.


New Features

Ivy

Ivy diventa il view engine di default di Angular. Lanciato con la versione 8 come feature sperimentale, rende opzionale il suo predecessore View Engine. Anche se Ivy è la prima scelta, sarà possibile continuare ad utilizzare View Engine.

Ivy è la più grossa novità di Angular 9. Meriterebbe un articolo a parte, ma provo ad elencare alcuni dei cambiamenti e migliorie che promette di portare con se:

Ulteriori dettagli a questo link.

Dependency Injection

Novità anche sul fronte Dependency Injection e providing dei servizi. La proprietà providedIn del decoratore Injectable supporta due nuove opzioni:

Seguirà un articolo di approfondimento. (promesso!)

Test delle componenti migliorata

Per migliorare e irrobustire i test delle componenti, Angular porta con se component harnesses. Esso è una classe che consente al developer di scrivere robusti test per le componenti. La classe offre una API attraverso la quale è possibile interagire con il componente come se l’interazione avvenisse con un utente del mondo reale. Il concetto alla base è legato la pattern PageObject. Per ulteriori informazioni, leggi questo link.

Dipendenze

Angular necessita di Typescript 3.6. Il framework è compatibile anche con Typescript 3.7, il quale porta con se una serie di operatori interessanti quali optional chaining, nullish coalescing e tante altre piccole chicche che accrescono la potenza espressiva del linguaggio.

La dipendenza a RxJS è stata aggiornata alla versione 6.5.

Miscellaneous

Ulteriori altre migliorie sono state apportate all’ecosistema:


Breaking Changes

Typescript

Typescript 3.4 e 3.5 non sono più supportati. La versione minima supportata è la 3.6.

Form

Il selettore è stato rimosso. Usare al suo posto.

Classi deprecate rimosse

Le seguenti classi deprecate sono state rimosse:

Bazel

protractor_web_test_suite è stato spostato dal package @angular/bazel al package @bazel/protractor.


What else?

Per ulteriori informazioni su funzionalità e breaking changes vi invito a consultare il changelog del repository ufficiale e il post del blog ufficiale di Angular.

Written by Valerio Como

← Back to blog