E’ arrivato Angular 12! La nuova versione coinvolge diversi aspetti del framework, dal framework stesso ai Componenti, in particolare integrando l’engine Ivy ovunque. Come sempre l’aggiornamento rende più funzionale e ricco il framework.
Per aggiornare alla versione 12 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.
Ivy e View Engine
Con la nuova versione viene deprecato l’utilizzo di View Engine che verrà completamente rimosso in una futura major release a favore dell’engine Ivy il cui viaggio è partito con la versione 8 del framework ed ha trovato la sua consacrazione nella versione 9.
Le librerie che utilizzano View Engine continueranno a funzionare per il momento ma gli sviluppatori devono iniziare quanto prima il processo di migrazione verso Ivy. Per un approfondimento puoi visitare il seguente link.
Transizione dai Message ID i18n legacy
Viene integrato un nuovo formato di Message ID più resiliente e intuitivo che risolve problemi di mancate validazioni della traduzioni e di efficienza legata alla ri-traduzione nelle applicazioni soprattuto quando è necessario gestire gli spazi bianchi. Già dalla versione 11 tutti i progetti sono configurati per utilizzare il nuovo formato ed ora è disponibile un tool di migrazione.
Il futuro di Protractor
Dopo aver ascoltato la community tramite un RFC, il team di Angular ha deciso di non includere Protractor, un sistema di test end-to-end, nelle prossime versioni di Angular ed in particolare verrà completamente dismesso con la versione 15 di Angular prevista nel 2022. Ciò andrà a favore di altre tecnologie più efficienti per i test end-to-end come Cypress, WebdriverIO e TestCafe.
Nullishing Coalescing
L’operatore Nullish Coalescing (??) è integrato nel template engine di Angular 12 ed è possibile utilizzarlo per rendere molto più pulito il codice. A titolo di esempio un espressione come questa:
{{peso !== null && peso !== undefined ? peso : calcolaPeso() }}
può diventare:
{{ peso ?? calcolaPeso() }}
Documentazione e supporto
Con la versione 12 è disponibile una guida per ulilizzare content projection per creare componenti flessibili e riutilizzabili. Inoltre è disponibile una piattaforma per gli sviluppatori che permette di contribuire a rendere la documentazione migliore. Infine è stata resa disponibile una sezione del portale con guide e video per la gestione dei messaggi di errore e l’analisi del debugging.
Miglioramenti nello stile
E’ disponibile il supporto inline per Sass nel campo styles della componente decorator. Per chi utilizza Angular CDK o Angular Material è necessario “switchare” dal pacchetto npm node-sass a sass. Inoltre con l’aggiornamento ad Angular 12, sia Angular CDK sia Angular Material espongono API Sass utilizzabili attraverso la funzione @use. Per un approfondimento puoi visitare il seguente link.
Aggiornamenti minori
Altri aggiornamenti che hanno trovato spazio nella nuova versione sono:
- lanciando ng build si arriva direttamente in produzione risparmiando alcuni step e prevenendo possibili errori;
- la modalità Strict mode è abilitata di default nella CLI;
- Ivy-based Language Service è abilitato di default;
- supporto per una versione “production ready” di Webpack 5;
- supporto a Typescript 4.2.
Deprecazione del supporto per IE11
Angular, per scelta strategica, è una piattaforma evergreen ed è sempre completamente aderente alle ultime tecnologie e progressi, pertanto è stato programmata la deprecazione di IE11 a partire da Angular 12, in cui ci sarà un messaggio di avviso ma verrà parzialmente supportato, mentre tale supporto verrà completamente rimosso con Angular 13( previsto per fine 2021).
Glue Labs e Angular
Utilizziamo Angular dalla sua nascita, ti forniamo lo sviluppo di applicazioni, la formazione avanzata e l’assistenza specialistica in modalità body rental, training on job e con piani di supporto tecnico per i tuoi progetti. Abbiamo integrato Angular in diversi applicativi e con numerosi Clienti. Ti garantiamo ogni nostro progetto di sviluppo 12 mesi da qualsiasi bug. Contattaci subito e senza impegno per un preventivo gratuito.