E’ arrivato Angular 16! La nuova versione è la sintesi di numerosi miglioramenti all’esperienza di sviluppo ed alle performance applicative. Come sempre l’aggiornamento rende più funzionale e ricco il framework.
Per aggiornare alla versione 16 puoi visitare il sito update.angular.io che ti mette a disposizione un form da compilare indicando da quale versione migrare e ti indica cosa devi fare. Se hai bisogno di assistenza contattaci subito e senza impegno.
Reattività
Nella versione 16 trova spazio un nuovo modello di reattività applicativa che porta significativi miglioramenti nelle performance e nell’esperienza di sviluppo. Oltre ad essere completamente compatibile con la precedente versione di Angular il nuovo modello fornisce:
- riduzione delle computazione durante il change detection;
- semplificazione della vista delle dipendenze e del flusso dei dati attraverso l’applicazione;
- reattività granulare fino a livello componente;
- computed properties cioè proprietà dinamiche che non vengono ricomputate durante il ciclo di change detection;
- migliore interoperabilità con RxJS.
Angular Signals
Angular Signals è la libreria che ti permette di definire le reactive value e di esprimere le dipendenze tra di esse. Puoi approfondire le proprietà della libreria al seguente link.
Interoperabilità con RxJS
Puoi “convertire” un segnale in un observable attraverso la funzione toObservable() e puoi fare il contrario attraverso la funzione toSignal(). Inoltre è stato introdotto un nuovo operatore takeUntilDestroy() per unire il ciclo di vita magari di un observable a quello di una component.
Server-side rendering e Hydration
Il Server-side rendering è uno degli aspetti più richiesti dalla community ed attraverso la partnership con il team di Chrome Aurora, dalla versione 16, è disponibile la nuova full app non-destructive hydration che permette ad Angular di non effettuare il rendering dell’applicazione dall’inizio. Invece il framework cerca gli esistenti nodi DOM mentre sta costruendo la struttura interna e gli unisce con i listener. I vantaggi sono:
- nessun sfarfallio in qualsiasi pagina;
- migliori Web Core Vitals;
- integrazione semplice con le applicazioni già sviluppate;
- possibilità di adozione incrementale dell’hydration con l’operatore ngSkipHydration;
- miglioramento del 45% delle performance in ambito Largest Contentful Paint.
Applicazioni standalone
Puoi creare un nuovo progetto standalone dall’inizio attraverso:
ng new –standalone
così ottenendo un progetto semplice senza alcun NgModules e tutti i generatori produrranno directive, component e pipe esclusivamente standalone!
Strumenti per gli sviluppatori
Viene utilizzato Vite in ng serve per il server di sviluppo ed esbuild potenzia sia l’ambito di sviluppo sia di produzione.
Oltre a questo viene introdotto il supporto per Jest per effettuare i test sul codice e migliorare la qualità di quanto sviluppato.
Infine trovano spazio alcune comodità per lo sviluppatore come:
- auto-import di component e pipe nel language service;
- decorator di ECMAScript;
- nuove funzioni per Angular CLI.
- self-closing tags per semplificare la scrittura di codice.
Routing data come input delle component
Viene introdotta la capacità di effettuare il bind di parametri di routing al corrispondente input nella component. In pratica è possibile indicare alla rotta non solo i classici parametri di instradamento ma anche dettagliarli ulteriormente spingendosi fino alla singola funzione di input.
Angular Material
Nell’ottica della futura introduzione di Material 3 e di perseguire i concetti del Material Design vengono sempre più ridotte le componenti non-MDC affinchè dalla versione 17 non siano più disponibili. Pertanto occorrerà migrare quanto prima.
Glue Labs e Angular
Utilizziamo Angular dalla sua nascita, ti forniamo sviluppo di applicazioni, formazione avanzata e assistenza specialistica in modalità Time & Material, training on job e con piani di supporto tecnico per i tuoi progetti. Abbiamo integrato Angular in applicativi complessi ed in ambiti critici diventando partner tecnologico di numerosi Clienti. Le compotenze ci permettono di garantirti ogni nostro progetto di sviluppo 12 mesi da qualsiasi bug. Contattaci subito e senza impegno per un preventivo gratuito.