The State of Vue.js in 2020
March 02, 2020
In the last few years, Vue.js has grown from a relatively unknown framework to the fastest growing JavaScript framework of all time. This talk will cover what's new in the ecosystem as well design patterns and best practices. No Vue experience is necessary but you should be familiar with JavaScript.
What is Vue.js
• Progressive
• Lightweight(10k gzip)
• Incrementally adoptable
• Web framework
• Virtual DOM
History of Vue.js
• Evan You (creator, 2013)
• Vue.js Launch (2014)
• Vue.js 2.0 (2016)
• Vue Router 3 & Vuex 3 (2017)
• Vue CLI 4 (2019)
• Vue.js 3.0 (2020)
Why Vue.js
• Low learning curve
• Progressive; Incrementally adoptable
• Lightweight(10k gzip)
• Flexible – Use as a library or full-featured framework
• Fast prototyping
9:00 Angular Influence : Directives, Two-way data binding, Opinionated ecosystem, Templates, Dependency Injection
10:23 React Influence : Virtual DOM, Composable components, Mixed logic & view, Flexibility
11:58 jQuery Influence : Simplicity, Naming conventions
15:00 Vue.js Use Cases :
17:24 Approachable
Bootstrapping with a GUI
npm i -g @vue/cli && vue ui
Bootstrapping with CLI
vue create myapp
Component Layout
<template>
<div id=”app”>
<Header />
{{ name }}
<input v-model=”name”>
</div>
</template>
<script>
import Header from ‘./Header.vue’
export default {
components:{
Header
}
data(){
return {
name: ‘’
}
}
}
</script>
<style>
#app { color: blue; }
</style>
22:25 Reactivity
24:20 Built-in Animations
25:30 Slots
26:52 Complex Forms
Vue3
29:18 Options API
31:15 Composition API (New)
33:40 Composition Functions
38:29 Access to Lower-level APIs
39:55 Speed
41:17 Ecosystem
CoreVue Tools
State Management: Vuex
Routing: Vue-Router
DevTools: Vue-DevTools
CLI: Vue CLI
Testing: Vue-Test-Utils
Internationalization: Vue-I18N
Static Site Generator: Vue-Press
42:37 Community Tools
46:54 Vue Resources
Freecodecamp Vue tutorial
Intro Material & Animations: Sarah Drasner
Vue Examples: The Cookbook
Vue Courses: Vue School
Framework Comparison: Vue Guide
Podcast: Views on Vue