3. Let’s start with stats
Created by
Evan You
Github
188 Contributors | 109K Stars
vue
352,868 /week
vue-cli
28,242 /week
Since
Feb 2014FEB
2014
Current Version
2.5.16
4. Benefits of Vue
● Easiest learning curve.
● Great documentation.
● Active development community.
● Progressive yet Scalability.
● Separation of concerns (JS / HTML / CSS) |
Clean code
● Lightweight framework (23k gzip)
5. Ecosystem
vue-router Single-page application routing
vuex Large-scale state management
vue-cli Project scaffolding
vue-loader Single File Component (*.vue file) loader for webpack
vue-server-renderer Server-side rendering support
vue-class-component TypeScript decorator for a class-based API
vue-rx RxJS integration
vue-devtools Browser DevTools extension
6. War of the frameworks
● Components
● Type Checking (with Typescript)
● Templates - JSX or HTML
● State management and data binding
● Size (gzip file) - 143k Angular, 43k React, 23k Vue
● Testing.
7. Extras
● JSX - If you really really want it.
● Redux can be used - vue-redux
● Redux sagas - vuex-saga
● vue-migration-helper
● https://github.com/vuejs/awesome-vue
21. Let’s get coding
● Build a Movie Card component
● Make it display mockMovie
● Should show a badge for “tomato
recommends” if the movie has a Rotten
Tomatoes score of > 85%
32. Let’s get coding
● Refactor your app so that it supports two
pages - home and movie details
● Use vue-router to route between the two
● Clicking on a movie card on home page
should route to details
● Provide a back button on details page
35. THANK YOU
Digvijay Anil Gunjal
App Developer, ThoughtWorks
digvijag@thoughtworks.com
github.com/digvijay19
@digvijaygunjal
Anish George
UI Developer, ThoughtWorks
anishgeo@thoughtworks.com
github.com/bassoGeorge
@ageorgedev
Editor's Notes
Why VueJs
Vue is designed from the ground up to be incrementally adoptable.
If you know react / angular. It’s very easy to pick up. It follows component architecture.
It has great documentation which is maintained regularly, and has a great active development community. They themself maintain most of the ecosystem.
Even though it is progressive it is very easy to scale in vue.
Separation of concern
Vue-router -Single-page application routing
Vuex - Large-scale state management
Vue-cli - Project scaffolding
Vue-loader state-preserving, hot-reloading, scoped CSS for each component,
Vue-server-renderer -Server-side rendering support (Nuxt)
Vue-class-component - TypeScript decorator for a class-based API
Vue-rx - RxJS integration
Vue-devtools - Browser DevTools extension
Components - angular just started it, React has it. Vue has it.
Type checking -
Templates - Don’t mix your html / css / and js. (React claims they busted a myth keep these seperate). Testing much much easier.
JSX - power of a full programming language (JavaScript) to build your view
JSX -The tooling support