Nel corso della conferenza canadese Vuetoronto che si è svolta dal 14 al 16 novembre il fondatore del progetto Vue.js Evan You ha parlato della futura versione del proprio software, la major release numero 3.0.
Sfruttando le nuove e più potenti funzionalità dei moderni browser Web, Vue.js 3 sarà un prodotto ancor più performante della già internazionalmente amata versione 2. You ha dichiarato che la nuova veste di Vue.js sarà:
- più veloce, con performance nettamente migliorate;
- più leggera, footprint ulteriormente ridotto;
- composta da un codice sorgente più manutenibile;
- maggiormente user-friendly;
- più facile da imparare ed utilizzare.
Evan e il suo team di sviluppatori stanno effettuando la transizione alla nuova versione nella maniera più morbida possibile, le cui migliorie saranno "quasi invisibili" ma concrete e solide.
Per rendere Vue.js ancor più veloce, sono stati effettuati importanti interventi: il Virtual DOM è stato riscritto quasi completamente, gli hints a tempo di compilazione saranno poi incrementati per ridurre il lavoro a runtime.
La generazione di slot è stata ottimizzata: correntemente in Vue.js, quando un componente genitore effettua un re-rendering, i suoi componenti figli devono re-renderizzare a loro volta. In Vue 3 invece, genitore e figli possono re-renderizzare in modo separato.
Grazie allo Static Tree Hoisting, il compilatore di Vue.js 3 sarà in grado di individuare la "staticità" dei componenti ed "hoistizzarli", per ridurre drasticamente il peso necessario al rendering. Lo Static Props Hoisting è un'altra feature di estrema importanza, che permette di saltare intelligentemente il patching dei nodi che non devono subire update.
Attualmente, il sistema di "reattività" di Vue.js è basato sui getters ed i setters in collaborazione col metodo Object.defineProperty
. Nella versione 3 verranno utilizzati i proxy ECMA 2015 per il meccanismo di osservazione. Oltre a risolvere svariati bug, questa strategia promette di duplicare la velocità di esecuzione e dimezzare l'utilizzo della memoria.
Insomma, se la versione 2.0 è riuscita ad entrare nel cuore di molti sviluppatori, permettendogli di utilizzare un'alternativa di alta qualità a prodotti come React ed Angular, la versione 3.0 promette di essere ancor più performante.
Via Vuetoronto