Evan You
Vue.js is the 6th most starred project on Github
v-bind & v-on
Directives
v-if , v-else, v-else-if
Directives
v-for
Directives
Réactivité avec Vue
Comment ça marche ?
Les getters/setters (ES5)
let _name = "joe";
const user = {
get name() {
console.log("accès en lecture à la propriété")
return _name
},
set name(value) {
console.log("accès en écriture à la propriété")
_name = value
}
}
Comment ça marche ?
Prochainement dans Vue 3 : les Proxy (ES6)
const _user = { name: "joe" }
const user = new Proxy(_user, {
get(obj, key) {
console.log(`accès en lecture à la propriété ${key}`)
return Reflect.get(obj, key)
},
set (obj, key, value) {
console.log(`accès en écriture à la propriété ${key}
avec la valeur ${value}`)
return Reflect.set(obj, key, value)
}
})
Détail du système de réactivité de Vue
- AngularJS 1.x : dirty-checking synchrone
- Angular 2+ : Zones (~= dirty-checking asynchrone)
-
React : update manuel (setState)
optimisation manuelle (shouldComponentUpdate)
rendu différentiel vs un DOM virtuel
- Vue : update auto (setters / proxies)
optimisation auto (dependency tracking)
rendu différentiel vs un DOM virtuel
Comparaison des mécaniques de
data-binding et change detection
En savoir plus
Déclaration de composants
& Communication parent-enfant
Propriétés calculées et observées
Cycle de vie
d'un composant
1/2
Cycle de vie
d'un composant
2/2
Vue Cheat Sheet
Single File Components
Facilite le partage
et la réutilisabilité
des composants
Centralise le code
et l'outillage dédié
Simplifie le recours
aux préprocesseurs
Syntaxe alternative basée sur les classes
avec TypeScript ou Babel
Modularité
+
Adaptabilité à diverses stacks tech
+
Facilité d’intégration
+
Grosse communauté OS
=
Ecosystème géant
https://github.com/vuejs/awesome-vue
- Simple: petite surface d’API, on démarre en 2h
- Léger: 20kb .min.gzip au runtime
- Polyvalent: intégration facile avec toutes les stacks
- Framework stable et mature, écosystème vaste
- Prend les meilleures idées des concurrents, sans le superflu
- Très peu de breaking changes en 4 ans d’existence
Bilan
Pour aller plus loin
Formation vidéo et live-coding
Introduction à Vue.js - bbTex janvier 2018
By sylvainpv
Introduction à Vue.js - bbTex janvier 2018
Introduction à Vue.js - bbTex janvier 2018
- 1,716