Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Choosing Vue.js
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Rahul Kadyan
September 15, 2017
Programming
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Choosing Vue.js
Why would you choose Vue?
Rahul Kadyan
September 15, 2017
More Decks by Rahul Kadyan
See All by Rahul Kadyan
Inversion of Control in a Vue Application
znck
0
420
New Vue. New Compiler. Let's Unpack
znck
4
2.6k
Head first into composition API
znck
0
200
Future of Vue – JSFoo VueDay 2019
znck
0
590
React to Vue: why and how?
znck
0
130
Collocation in Modern Web
znck
0
110
Other Decks in Programming
See All in Programming
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
16
14k
Intent as Code
shoppingjaws
6
1.1k
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
220
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
250
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
160
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
200
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
5
4.4k
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
350
Are APIs Still Relevant in the AI Era?
soyuka
0
300
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
120
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
160
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
240
Featured
See All Featured
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
830
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
320
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
Side Projects
sachag
456
43k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
240
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
How to Talk to Developers About Accessibility
jct
2
550
The browser strikes back
jonoalderson
0
1.7k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Transcript
65K+ Stars Top 10 All Time
250K+ Weekly Active Users Chrome DevTools Extension
None
None
Rahul Kadyan Vue.js Core Contributor Software Engineer - Myntra
Choosing xxx Choosing Vue
Team Choosing for your team 1. Simplicity 2. Resources 3.
Performance
It’s simple
None
krausest/js-framework-benchmark 0.9 0.975 1.05 1.125 1.2 Slowdown 1.04 1.19 1.15
Angular React Vue
Tech Choosing for features 1. Declarative Rendering 2. Composition 3.
Stylesheets or CSS
None
{ template: `<App> <Sidebar /> <Content> <p>Hello World </p> </Content>
</App>` } HTML { render () { return ( <App> <Sidebar /> <Content> <p>Hello World </p> </Content> </App> ) } } JSX { render (h) { return h('App', [ h('Sidebar'), h('Content', [ h( 'p', 'Hello World’ ) ]) ]) } } JS
None
<app> <app-header></app-header> <app-footer></app-footer> </app> <div class="container"> <header> <slot name="header"></slot> </header>
<main> <slot></slot> </main> <footer> <slot name="footer"></slot> </footer> </div> <div class="parent"> <child> <template scope="props"> <span>hello from parent</span> <span>{{ props.text }}</span> </template> </child> </div>
None
<child message=“hello!"></child> <child :my-message="parentMsg"></child> <input @keyup.enter="submit">
None
None
Tech Choosing for large applications 1. Client Side Routing 2.
Application State 3. Optimisation Efforts
None
None
None
Tech Choosing for emerging markets 1. Server Side Rendering
None
DX Choosing for developer experience 1. Collocation 2. Editor Support
3. Build & Test Tools 4. Browser DevTools
Templates Scripts Styles
Template Script Style
posva/vim-vue vuejs/vetur vuejs/vue-syntax-highlight
None
vue-test-utils In pre-release stage.
None
None
– Jacob Schatz, Lead Frontend Developer, GitLab “We chose it
(vue) because it was more simple than everything out at there. It makes it easy to grasp the concepts and it was also easy to make a large app.”
@znck0