Ci avviciniamo sempre di più alla release ufficiale di Angular 2, la quale ha una data di uscita stimata per la fine del 2015. L’Angular Team, ha deciso di procedere a una completa riscrittura del framework MVC con l’obbiettivo di renderlo più snello e performante. Ecco le principali features di questa nuova release:   Velocità & Performance Per ottenere miglioramenti significativi in termini di velocità e performance il team di sviluppo ha lavorato duramente su diversi aspetti, tra cui:
  • Change detection, il quale, grazie al monomorfismo e ai moderni JavaScript engine, oggi risulta 5 volte più veloce
  • “Change guarantees data structure optimization”: vengono sfruttate le garanzie di cambiamento per migliorare le performance dell’applicazione In strutture dati come immutables e observables
  • Hierarchical Dependency Injection: supporta l’incremental loading e permette di mantenere l’applicazione modulare  e facilemente testabile
  • Precompilazione e riuso di Template
  • Lower memory usage / VM pressure
  • View caching
  Mobile Angular 2, come il suo predecessore, è un framework SPA (Single Page Application) fortemente utilizzato nel mondo mobile. Un improvement particolare, quindi, è stato dato alla gestione delle risorse in contesti dove memoria e banda risultano estremamente preziosi. Altrettanta attenzione, è stata posta anche a caratteristiche specifiche dei device mobili:
  • UI mobile nativo: supporto per componenti material di UI native  iOS e Android
  • Touch event gestures
  • Animazioni e transizioni  gestite tramite CSS, JavaScript e Web Animations API in risposta agli eventi utente
  • Tecnologia di navigazione “card stack”  
Pronto per il futuro Angular 2 è decisamente pronto per il modern web, e per certi versi si potrebbe dire che lo sia anche per il “future”:
  • Scritto in ECMAScript 6 (ES6)
  • Utilizza standard web come shadow DOM e HTML5 template tag
  • Ottima integrazione con web components (anche di altre librerie)
​ Inoltre è anche fortemente orientato per l’accessibilità e il multilingua:
  • Pseudolocalizzazione
  • Traduzione
  • Rilevamento di genere e numero
  • Screen reader
  • Assistive devices
Semplicità & Flessibilità Il motto di Angular è “Angular is built by you, for you”. Non è un caso quindi che oltre al supporto per ES6, Angular 2 funziona altrettanto bene con ES5, Dart, CoffeeScript,e altri linguaggi javascript based. Ha inoltre semplificato il codice e introdotto nuovi modelli ben strutturati e di facile comprensione, ottimi per migliorare comunicazione e dinamiche di gruppo all’interno dei Team di sviluppo.   Migration & Upgrade Se vi preoccupa il passaggio ad Angular 2, potete stare tranquilli in quanto i maggiori cambiamenti rigurdano principalmente sintassi e naming. I concetti chiave, invece, sono rimasti fondamentalmente gli stessi. Se invece avete la necessità di fare l’upgrade di un’applicazione già esistente, sul blog ufficiale AngularJS, c’è un articolo dal nome: “Angular 1 and Angular 2 integration: the path to seamless upgrade” che in modo molto dettagliato spiega come integrare i due frameworks e mette a disposizione un algoritmo per semplificare il processo di upgrade. Se qualcuno avesse intenzione di approfondire questi argomenti ed iniziare a fare un po’ di pratica, sul sito ufficiale è possibile trovare Angular 2 in Alpha version completo di tutorials e documentazione, inoltre, se interessati, potete anche contribuire con modifiche ed estensioni diventando così parte integrante di questo fantastico progetto.  
Alessio Buscemi