Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Choosing Vue.js
Search
Rahul Kadyan
September 15, 2017
Programming
0
54
Choosing Vue.js
Why would you choose Vue?
Rahul Kadyan
September 15, 2017
Tweet
Share
More Decks by Rahul Kadyan
See All by Rahul Kadyan
Inversion of Control in a Vue Application
znck
0
370
New Vue. New Compiler. Let's Unpack
znck
4
2.6k
Head first into composition API
znck
0
170
Future of Vue – JSFoo VueDay 2019
znck
0
540
React to Vue: why and how?
znck
0
69
Collocation in Modern Web
znck
0
63
Other Decks in Programming
See All in Programming
TransformerからMCPまで(現代AIを理解するための羅針盤)
mickey_kubo
7
5.5k
alien-signals と自作 OSS で実現する フレームワーク非依存な ロジック共通化の探求 / Exploring Framework-Agnostic Logic Sharing with alien-signals and Custom OSS
aoseyuu
2
730
Towards Transactional Buffering of CDC Events @ Flink Forward 2025 Barcelona Spain
hpgrahsl
0
120
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
14
46k
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
360
Webサーバーサイド言語としてのRustについて
kouyuume
1
4.9k
モテるデスク環境
mozumasu
3
1.3k
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
440
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
260
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
910
Temporal Knowledge Graphで作る! 時間変化するナレッジを扱うAI Agentの世界
po3rin
1
210
Introduce Hono CLI
yusukebe
6
3.1k
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
The Invisible Side of Design
smashingmag
302
51k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Context Engineering - Making Every Token Count
addyosmani
8
310
Embracing the Ebb and Flow
colly
88
4.9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Faster Mobile Websites
deanohume
310
31k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
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