Quante volte hai avuto dubbi su quale framework JavaScript utilizzare per la creazione della tua web app? Oggi è impensabile non utilizzarne uno ed infatti il panorama degli stessi è immenso.
In quest’articolo mi concentrerò sulle motivazioni per cui preferisco Vue.js rispetto a tutti gli altri competitors, riassumendo il tutto in 3 punti basati sulla mia esperienza personale.
Semplicità di utilizzo di Vue.js
A differenza di altri framework monolitici, Vue.js può essere incluso come una libreria all’interno del proprio progetto ed è sviluppato per facilitare la creazione di UI reattive e progressive. Esistono vari modi per poter iniziare con Vue.js, ad esempio lo si può utilizzare con la CND, si può usare npm installandolo come dipendenza, oppure si possono sfruttare i comandi della @vue/cli, consultabili direttamente dalla documentazione ufficiale.
Nell’esempio che segue, creo una piccola applicazione di prova, importando la CDN e creando l'istanza vue.js nel tag <script>
Come vedete, in praticamente due minuti, ho creato un’applicazione vue.js facilmente estendibile. Questo è uno dei suoi punti di forza, tutto ciò di cui hai veramente bisogno per iniziare è una conoscenza base di JavaScript, HTML e CSS, infatti a differenza degli altri competitors come Angular che rende necessario conoscere TypeScript e react dove invece bisogna conoscere jsx, Vue.js si limita ad appunto Html, Css e JavaScript. Dall’esempio proposto sopra è intuibile che introdurlo in un qualsiasi progetto avviato, come ad esempio un sito partito usando Laravel, è facile e indolore.
Nell’esempio sopra il punto di partenza è sempre l’istanza (new Vue…), che accetta come parametri del costruttore un oggetto in cui valorizziamo la funzione data(). Al termine della creazione dell'istanza, viene chiamato il metodo $mount che “monta” la logica del framework sul componente html, ricercandolo con il suo selettore passato come parametro.
Ecosistema ricco, versatile e ben definito
Il core di Vue.js consente già di creare componenti reattivi e riusabili, ma include anche un set di librerie, create dal team ufficiale, che gestiscono una serie di problematiche comuni tra i progetti, fornendo una soluzione efficiente e stabile.
Esempi sono vue-router per la parte di routing e navigazione tra le pagine, vuex, per la parte di gestione dello stato e di quindi di tutti i dati in comune nelle varie parti dell’applicativo, la già citata vue-cli, un set di comandi da terminale utili per avviare un nuovo progetto e anche i devtools, utilizzabili scaricando un’estensione del browser e che facilitano di molto il debugging dell’app.
L’ecosistema di Vue è rappresentato in questa immagine direttamente da GitHub:
Avere un ecosistema così definito è un grande vantaggio per chi sceglie di usare Vue.js, poiché consente, come dei piccoli mattoncini che andranno a costruire una casa, di scegliere solo ed esclusivamente quel set di feature che vanno a risolvere un problema specifico preso come oggetto.
La popolarità di Vue.js
Un altro punto estremamente importante riguarda la sua popolarità. Negli ultimi anni stiamo assistendo ad una costante crescita di utilizzo, dovuta alla community sempre più ampia e alla sua costante evoluzione (non dimentichiamoci l’annuncio di Vue 3.0), che oggettivamente lo rende uno dei migliori framework JavaScript su cui investire il proprio tempo e studio.
Vue.js si ispira ad Angular e React, prendendo i punti migliori tra i due
Tutti conoscono la storia per cui Evan You, il creatore di Vue.js, che ebbe l’idea di questo framework mentre lavorava per google su dei progetti in cui usava anche Angular.js.
L’idea alla base era quella di creare qualcosa di molto più leggero di Angular, mantenendo la stessa sua natura dichiarativa del data binding, ma con un set di API diverso e più accessibile. Proprio da questo partì l’idea di Vue.js.
Possiamo immaginare Vue.js come figlio di Angular e React, emulando da React l’approccio a componenti, il concetto di virtual DOM e la gestione dello stato dell’applicativo
(Vuex/Redux) e da Angular la logica del routing e la separazione tra il codice HTML e JavaScript.
Sulle performance, Vue.js, con un peso di circa 20 kb, si attesta tra i più veloci framework per la creazione di webapp.
Perciò come abbiamo visto, ti consiglio di usare Vue.js se cerchi:
- Una framework sempre più popolare e con un'ottima documentazione, da cui deriva una richiesta sempre maggiore di sviluppatori Vue.js
- Una curva di apprendimento molto bassa, consentendo una crescita in esperienza in tempi relativamente brevi
- Un framework leggero, veloce e facilmente integrabile in qualsiasi webapp, come ad esempio un progetto in Laravel. Infatti Vue.js è una delle integrazioni default che troviamo in qualsiasi progetto Laravel.