View Engine e dimensioni dei componenti

Alcuni degli interventi più rilevanti hanno coinvolto il View Engine, con l'obbiettivo di ridurre sensibilmente le dimensioni del codice generato per i componenti; in alcuni casi sarebbe stata registrata una riduzione vicina al 60% rispetto a quanto si sarebbe potuto ottenere in precedenza. Uno dei vantaggi derivanti da questa nuova impostazione risiede nel fatto che più complesso sarà il template utilizzato maggiore sarà il decremento ottenibile.

Eventuali migrazioni verso la versione 4 potrebbero quindi portare ad un risparmio calcolabile in termini di centinaia di Kb con effetti estremamente positivi sulle performance.

Template binding

Gli sviluppatori hanno ora la possibilità di utilizzare una sintassi nello stile dei costrutti condizionali (if/else) e assegnare variabili locali agendo sulle direttive *ngIf e *ngFor:

<div *ngIf="userList | async as users; else loading">
  <user-profile *ngFor="let user of users; count as count" [user]="user">
  </user-profile>
 <div>{{count}} total users</div>
</div>
<ng-template #loading>Loading...</ng-template>

Gestione dell'Animation Package

Un'altra novità particolarmente interessante per le prestazioni riguarda la rimozione del supporto per le animazioni dall'@angular/core e il suo spostamento in un package dedicato. In questo modo, nel caso in cui un progetto non utilizzi le animazioni, esse non peseranno sull'applicazione in fase di produzione; se le si vuole utilizzare sarà comunque possibile ricorrere all'inclusione nel main NgModule tramite importazione.

Universal: Angular su server

Angular Universal, cioè il progetto con cui si vuole permettere agli sviluppatori di eseguire il framework su server, non è più sviluppato dalla sola community che ruota intorno ad Angular ma viene implementato direttamente dal suo stesso team e verrà aggiornato insieme al core della libreria.

Compatibilità

Angular 4 supporta delle versioni di TypeScript più recenti (release 2.1 e 2.2), ciò dovrebbe permettere di ottenere una maggiore velocità per ngc e un maggiore efficienza del type checking. Introdotta in via sperimentale anche la compatibilità con le Closure annotation per un livello di ottimizzazione più elevato e una riduzione del peso dei bundle.

Via Angular

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *