Progressive
JavaScript
Why React when you can Vue?
Hello!
I am Sonal Raj
5 year old JS developer
Full Stack Enthusiast
2
What is VueJS?
3
The Vue-logy
4
◎ Gentle learning curve
◎ Lightweight
◎ Flexible
◎ Modular
◎ Highly Performant
Plus, incredible development speed with ready-to-use plug-ins.
5
6
Interpolations
Directives – V-attributes that modify the DOM
Filters
7
Computed props are complex manipulations
of reactive props, cached based on their
dependencies
8
Watchers are generic way to react to data
changes, for asynchronous or expensive
operations
9
Reactivity
10
Components
Ok the data binding is neat for small demos.
What about big apps?
11
Modularity
You will be disappointed if you still love
global scopes!
12
Two Way Binding
The VueJS magic!
13
Handling User
Inputs
Make the app communicative.
14
What to do for
Application Scalability
15
Full Stack Use
MVVM pattern with focus on the View model,
connecting View and model with two-way reactive
data-binding
◎ Veux
◎ Vue Router
◎ Vue Test Utils
◎ Vue CLI
16
Vue CLI
Project Generator for initial project setup
and scaffolding
17
Single File Components
◎ Encapsulate template, javascript and CSS
◎ Webpack / Browserify build tools
◎ Component Scoped CSS
◎ VueLoader
18
Vue Routing
◎ Dynamic routing matching with params and query
params
◎ Nested routes, named routes
◎ Redirects
◎ Aliases
19
Veux
20
Veux State Management
◎ ELM-inspired, flux-like
◎ Storage of the application state
◎ Redirects
◎ Aliases
21
Benchmarking
22
React v/s Vue
◎ React wins in richness of its ecosystem and custom
renderers
◎ Vuejs wins in all performance profiles (Thanks to
virtual DOM)
◎ Vuejs faster dev mode with up to 10xframe rate
23
Speed
Stats
24
25
Porting of large projects
to VueJS
Common Mistakes
26
Porting of large projects
to VueJS
Lessons Learnt
27
Migration Tips and
Tricks
28
Testing in VueJS
◎ Testing Filters
◎ Component Testing tools
◎ Property change verifications
◎ Veux Store Testing
◎ Event Tests
29
[ Rapid App Dev with VueJS ]
DEMO
30
Extra Productivity Tools
◎ JSX – If you are a fan!
◎ Combile with redux using vue-redux
◎ Can use redux-sagas with vue-sagas
◎ vue-migration-helper
◎ awesome-vue
Thanks!
Any questions?
You can find me at sonal-raj@github & sonal.nitjsr@gmail.com
31

Progressive Javascript: Why React when you can Vue?