🙏
Andrea Campaci
Chi sono?
IT Technical Architect
//andreacampaci.it
info@andreacampaci.it
andreacampaci/meetup-presentation-vue3
Repository Github
Cos’è VueJs?
The Progressive JavaScript Framework
I punti di forza
Framework Javascript di dimensioni ridotte
Curva di apprendimento molto bassa
Approccio Component Base come React
Flessibile
Typescript o JS
CSS o SCSS o LESS
Reattivo
HTML o Render functions o JSX
Cos’è VueJs?
Crescita di interesse 🚀
Cos’è VueJs?
https://www.gurutechnolabs.com/top-front-end-frameworks/
Crescita sull’utilizzo 📈
Cos’è VueJs?
https://2019.stateofjs.com/front-end-frameworks/
Changes
Core
Changes
https://increment.com/frontend/making-vue-3
“Vue 3 è  più veloce, più piccolo, più mantenibile ed e
maggiormente integrato allo standard nativo.”
Evan You
Miglioramenti
Changes
• Il Virtual DOM è stato riscritto per migliorare le performance;
• Supporto a Typescript;
• Più flessibilità nella creazione dell’app e delle configurazioni che
erano globali in Vue2;
• Riduzione del pacchetto;
Perché riscriverlo?
Changes
• Riduzione del debito tecnico;
• Facilitare i contributor;
• Le funzioni di render di Vue3 impiegano meno di 1/10 del CPU
time rispetto alla versione 2;
Bundle size
Changes
Vue2 Vue3
Cosa cambia?
Changes
Creazione dell’app Vue L’applicazione si crea con la factory createApp()
La proprietà data Obbligatorio l’uso della prop data come metodo
Registrazione
Componenti e plugin vengono registrati sotto
l’istanza tornata dal metodo createApp()
Life cycle hooks
Rinominare beforeDestroy() e destroyed() in
beforeUnmount() e unmounted()
Transizioni Rinominato la prop da v-enter a v-enter-from
Registrazione Vuex Registrazione mediante factory createStore()
Registrazione Rounter Registrazione mediante factory createRouter()
New features
Teleport component Appende un’elemento sotto un altro pezzo di DOM
Fragment Root template con più elementi fratelli
Composition Api Modalità opzionale per sostituire le option props
Changes
Composition Api
Cosa serve?
Composition Api
Come i React hooks, la Composition API permette di comporre la
propria logica utilizzando le helper API esportate in un modulo ad
hoc.
Permette di utilizzare nel componete solo le funzionalità di cui
abbiamo bisogno facendo si che il codice sia più ottimizzato.
Inoltre, su grandi componenti facilita la lettura rispetto all’approccio
Mixin(che resta valido) e di conseguenza il riutilizzo di codice.
https://composition-api.vuejs.org/#summary
Vantaggi
Composition Api
• Riutilizzo del codice;
• Organizzazione del codice;
• Approccio funzionale;
Svantaggi
Composition Api
• É richiesta la conoscenza degli operatori;
• Ref e reactive possono essere facilmente confusi;
• Avere tutto in un unica funzione setup() potrebbe far storcere il
naso;
Component
Composition Api
data() methods computed watch
Setup()
Setup()
Composition Api
Life cycle hooks
Composition Api
beforeCreate setup()
created setup()
beforeMount onBeforeMount
mounted onMounted
beforeUpdate onBeforeUpdate
updated onUpdated
beforeDestroy onBeforeUnmount
destroyed onUnmounted
errorCaptured onErrorCaptured
TS
Supporto “nativo”
Typescript
• Per utilizzare i types per la creazione di componenti si consiglia
di usare defineComponent;
• vue-class-component (beta)
• vue-property-decorator (in attesa di vue-class-component)
Classi/Decorators
Migrazione
https://v3.vuejs.org/guide/migration/introduction.html
Ultima versione: v3.0.5
CDN
Migrazione
Consigli
Migrazione
https://v3.vuejs.org/guide/migration/introduction.html
Sezione: supporting-libraries
https://github.com/vuejs/awesome-vue/issues/3544
💾 code time
🤔 dubbi?
Thank &
'

Vue3: nuove funzionalità, differenze e come migrare