La versione 7.0.0 del framework Javascript Angular è ufficialmente tra di noi. Una major relese che copre l'intero progetto, dal core ad Angular Material, fino alla CLI. Vediamo i breve alcuni dei maggiori aggiornamenti che questa versione porta con se.
Prompts della CLI
La CLI (Command Line Interface) di Angular 7 amplia la gamma dei prompt che vengono inviati all'utente con l'esecuzione dei comandi più comuni, come "ng new
" o "ng add @angular/material
" grazie ai quali sarà possibile scoprire le feature buit-in come il routing o il supporto SCSS.
I prompt della CLI sono stati aggiunti a Schematics (un ottimo tool per gestire il workflow dell'applicazione), dunque tutti i package che che lo implementano possono trarre vantaggio aggiungendo una voce x-prompt
alla collezione di Schematics.
"routing": {
"type": "boolean",
"description": "Generates a routing module.",
"default": false,
"x-prompt": "Would you like to add Angular routing?"
},
Performance e Bundle Budgets
Dopo un'analisi delle problematiche comuni all'interno dell'ecosistema, il team ha scoperto che molti sviluppatori utilizzano i thereflect-metadata polyfill
anche in ambiente di produzione, quando in realtà non è necessario. Per risolvere questo inconveniente, la versione 7 rimuoverà automaticamente questa situazione dai file polyfills.ts
, aggiungendo in seguito la componente nella costruzione dell'applicazione in modalità JIT, cancellando di default il polyfill dal pacchetto di costruzione.
Con la versione 7, i nuovi progetti possono avvalersi del Bundle Budgets nella CLI. Le nuove applicazioni avviseranno lo sviluppatore quando il bundle iniziale supererà i 2MB e produrrà un errore a 5MB. I budgets sono modificabili in angular.json
.
"budgets": [{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
}]
Angular Material e CDK
Gli sviluppatori che aggiornano alla versione 7 troveranno delle leggere differenze visuali che rifletteranno gli aggiornamenti alla specifica Material Design. Un'ottima aggiunta alla CDK, dove l'utente può ora trarre vantaggio da feature quali il Virtual Scrolling ed il Drag and Drop, tramite l'import dei moduli ScrollingMode e DragDropMode.
Angular Elements
Gli Angular Elements supportano era la proiezione dei contenuti utilizzando lo standard Web per gli elementi custom.
[code lang=javascript]<my-custom-element>This content can be projected!</my-custom-element>
I progetti della community
Angular ha lavorato in combinazione con differenti partner di sviluppo per il completamento di svariati progetti della community degni di nota, tra cui:
- Angular Console
- @angular/fire
- NativeScript
- StackBlitz
Per una lista completa di tutte le modifiche, gli aggiornamenti e i changelogs, vi rimando al blog ufficiale del progetto Angular.