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
Dmitry Sheiko
June 16, 2014
Programming
0
55
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
75
Writing Scalable and Maintainable CSS
dsheiko
2
100
A few things you need to know about CSS
dsheiko
1
97
Tooling JavaScript to ensure consistency in coding style
dsheiko
1
85
Modular JavaScript with CommonJS Compiler
dsheiko
1
1.4k
TypeScript Introduction
dsheiko
3
680
A Quick Start – Version Control with Git
dsheiko
3
410
Bringing classical OOP into JavaScript
dsheiko
5
270
Other Decks in Programming
See All in Programming
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
170
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
220
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
770
テストから始めるAgentic Coding 〜Claude Codeと共に行うTDD〜 / Agentic Coding starts with testing
rkaga
12
4.5k
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
320
ニーリーにおけるプロダクトエンジニア
nealle
0
840
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
140
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
130
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
770
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
130
効率的な開発手段として VRTを活用する
ishkawa
0
140
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
360
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
820
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
The Invisible Side of Design
smashingmag
301
51k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Thoughts on Productivity
jonyablonski
69
4.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
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