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
JavaScript MV* Framework - Making the Right Choice
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Dmitry Sheiko
June 16, 2014
Programming
0
59
JavaScript MV* Framework - Making the Right Choice
Choosing a MV*-framework that doesn't destroy JavaScript, but brings consistency into app design
Dmitry Sheiko
June 16, 2014
Tweet
Share
More Decks by Dmitry Sheiko
See All by Dmitry Sheiko
The Flavor of TypeScript
dsheiko
0
77
Writing Scalable and Maintainable CSS
dsheiko
2
110
A few things you need to know about CSS
dsheiko
1
100
Tooling JavaScript to ensure consistency in coding style
dsheiko
1
94
Modular JavaScript with CommonJS Compiler
dsheiko
1
1.5k
TypeScript Introduction
dsheiko
3
680
A Quick Start – Version Control with Git
dsheiko
3
410
Bringing classical OOP into JavaScript
dsheiko
5
280
Other Decks in Programming
See All in Programming
組織で育むオブザーバビリティ
ryota_hnk
0
170
CSC307 Lecture 07
javiergs
PRO
0
550
2026年 エンジニアリング自己学習法
yumechi
0
130
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
940
Package Management Learnings from Homebrew
mikemcquaid
0
210
CSC307 Lecture 04
javiergs
PRO
0
660
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
190
Fragmented Architectures
denyspoltorak
0
150
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
710
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.5k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.9k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
140
A designer walks into a library…
pauljervisheath
210
24k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
51
エンジニアに許された特別な時間の終わり
watany
106
230k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
75
Navigating Weather and Climate Data
rabernat
0
100
GraphQLとの向き合い方2022年版
quramy
50
14k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
170
Transcript
JavaScript MV* Framework - Making the Right Choice by @sheiko
Who’s the dude? I’m Dmitry Sheiko, a web-developer, blogger, open
source contributor. http://dsheiko.com @sheiko https://github.com/dsheiko
What do I need a framework for? • Abstractions (separation
of concerns) • Implicit conventions • Code reusability • Data Binding • Widgets Library
What framework do I need? MVC Backbone MVP MVVM AngularJS
Ember.js Dojo YUI Agility.js KnockoutJS CanJS Maria Polymer React cujoJS Montage Sammy.js Stapes Epitome DUEL Kendo UI PureMVC Olives PlastronJS Dijon rAppid.js DeftJS + ExtJS SAPUI5 Exoskeleton Atma.js Ractive.js ComponentJS Vue.js
Big Three AngularJS Backbone Ember.js
How they implement MV* bit.ly/1p24xgq Collection Model Template Router Controller
Scope View AngularJS Backbone Ember.js
How active developers community Backbone Stars: 18 264 Forks: 4
066 Open issues: 26 Closed issues: 3 151 Ember.js Stars: 10 442 Forks: 2 249 Open issues: 220 Closed issues: 4 788 AngularJS Stars: 24 958 Forks: 8 635 Open issues: 1 117 Closed issues: 6 704 via Github 13.06.2014
How good FAQ support Backbone Questions: 15 191 Answered: 9
193 60% Avg answers per question: 2.24 Ember.js Questions: 18 243 Answered: 11 120 61% Avg answers per question: 2.40 AngularJS Questions: 40 312 Answered: 22 382 55% Avg answers per question: 2.30 via StackExchange 13.06.2014
The hidden part of the iceberg AngularJS Logical LOC: 6
748 Mean parameter count: 1.5 Cyclomatic complexity: 1 548 Cyclomatic complexity density: 23% Maintainability index: 113 Production build: 108K Ember.js* Logical LOC: 43 390 Mean parameter count: 1.2 Cyclomatic complexity: 2 543 Cyclomatic complexity density: 17% Maintainability index: 113 Production build: 276K Backbone* Logical LOC: 965 Mean parameter count: 1.3 Cyclomatic complexity: 275 Cyclomatic complexity density: 28% Maintainability index: 108 Production build: 20K * without dependencies
Wonna really be in control of your own code?
You have to know then exactly what the framework does
Ember.js? AngularJS? Unlikely…
Backbone is our hero! http://backbonejs.org/docs/backbone.html
What about dependencies? Do we need them? Backbone jQuery Underscore
Not really! jQuery Underscore Backbone4 Exoskeleton
Exoskeleton is an optimized Backbone Faster Lightweight Dependencies optional http://exosjs.com
Custom builds Backbone drop-in replacement
What about legacy browsers? https://github.com/es-shims/es5-shim
An example? TODO MVC http://bit.ly/T0oREh Exoskeleton + CommonJS Compiler http://bit.ly/1lr1R7Z
Thank you! My credits to www.flaticon.com for these amazing free
vector icons and surely to Paul Miller and Adam Krebs for Exoskeleton