E’ arrivato Angular 9! La nuova versione coinvolge diversi aspetti del framework, da Angular Material alla Command Line Interface(CLI). Questa versione integra di default il nuovo compilatore Ivy, il nome in codice del “next-generation compilation and rendering pipeline“.
Per aggiornare alla versione 9 potete visitare il sito update.angular.io, vi mette a disposizione un form da compilare indicando da quale versione migrate e vi indica cosa dovete fare.
Come abbiamo già indicato, con la versione 9 di Angular, tutte le applicazioni fanno uso del compilatore Ivy di default, ciò si traduce in numerosi vantaggi che raccogliamo in una lista per brevità e che dettaglieremo nei prossimi paragrafi:
Il compilatore Ivy rimuove automaticamente componenti di Angular che non vengono utilizzate, il cosiddetto tree-shaking, permettendo di ridurre le dimensioni delle applicazioni.
In buona sostanza, rispetto alla versione 8, le applicazione piccole hanno un miglioramento del 40% delle dimensioni, quelle medie hanno minimi miglioramenti (intorno al 2%) e quelle grandi e complesse hanno un miglioramento tra il 25% ed il 40%
E’ stato ristrutturato lo strumento TestBed per renderlo più efficiente. In pratica ora TestBed non ricompila ogni singola componente per ogni test ma la compila solo se la componente è stata modificata, ciò si traduce in un miglioramento delle performance dei test tra il 40% ed il 50%.
Quando un’applicazione viene utilizzata in Dev Mode è possibile utilizzare l’oggetto ng per effettuare il debugging, in pratica:
Ora non sono possibili i conflitti nell’applicazione degli stili perchè sono essere programmati in maniera consistente ed efficace. In pratica prima veniva applicato l’ultimo binding valutato, ora l’ordine di precedenza è consistente e verrà applicato il più specifico ([style.color] sarà superiore a [style]). Le regole delle precedenze sono disponibili nella guida ufficiale.
Sono state lasciate invariate, per compatibilità, le funzioni ngStyle e ngClass.
Ora è possibile effettuare il bind di Variabili CSS anche definite Custom Properties.
Il compilatore di Angular ora effettua numerose verifiche ed applica regole più stringenti per aiutare i team a trovare i bug durante il processo di sviluppo. In pratica sono state implementate due flag per restringere i controlli:
Puoi trovare maggiori informazioni sulla guida ufficiale.
Fa parte del miglioramento sullo stack di debug e come già indicato viene semplificato il debug con l’aggiunta di utili informazioni allo stack di errore. Per es. potete andare al seguente link.
Grazie a Ivy è stato possibile raggiungere un 40% di miglioramento nelle performance di compilazione. Questo può dire che anche i build AOT sono più veloci e vengono forniti anche in ambito dev-mode, ciò vuol dire che anche “ng serve” beneficia dei controlli come se l’applicazione fosse in produzione migliorando sensibilmente l’esperienza degli sviluppatori.
Contestualmente è stata deprecata la variabile entryComponents.
Ora se sviluppi per più lingue puoi beneficiare di miglioramento di 10 volte delle performance di build perchè il processo di build della componente internazionale è stato spostato più avanti.
Utilizziamo Angular dalla sua nascita, realizziamo applicazioni, forniamo formazione avanzata e assistenza specialistica in modalità body rental, training on job e con piani di supporto tecnico. Contattaci subito e senza impegno per un preventivo gratuito.