JavaScript MV* Framework - Making the Right Choice
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

JavaScript MV* Framework - Making the Right Choice

  • 1,637 views
Uploaded on

Choosing a MV*-framework that doesn't destroy JavaScript, but brings consistency into app design

Choosing a MV*-framework that doesn't destroy JavaScript, but brings consistency into app design

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,637
On Slideshare
1,440
From Embeds
197
Number of Embeds
3

Actions

Shares
Downloads
20
Comments
0
Likes
1

Embeds 197

https://twitter.com 179
http://www.slideee.com 17
https://www.linkedin.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. JavaScript MV* Framework - Making the Right Choice by @sheiko
  • 2. Who’s the dude? I’m Dmitry Sheiko, a web-developer, blogger, open source contributor. http://dsheiko.com @sheiko https://github.com/dsheiko
  • 3. What do I need a framework for? • Abstractions (separation of concerns) • Implicit conventions • Code reusability • Data Binding • Widgets Library
  • 4. 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 UIPureMVC Olives PlastronJS Dijon rAppid.js DeftJS + ExtJS SAPUI5 Exoskeleton Atma.js Ractive.js ComponentJS Vue.js
  • 5. Big Three AngularJS Backbone Ember.js
  • 6. How they implement MV* bit.ly/1p24xgq Collection Model Template Router Controller Scope View AngularJS Backbone Ember.js
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. Wonna really be in control of your own code?
  • 11. You have to know then exactly what the framework does
  • 12. Ember.js? AngularJS? Unlikely…
  • 13. Backbone is our hero! http://backbonejs.org/docs/backbone.html
  • 14. What about dependencies? Do we need them? Backbone jQuery Underscore
  • 15. Not really! jQuery Underscore Backbone4 Exoskeleton
  • 16. Exoskeleton is an optimized Backbone Faster Lightweight Dependencies optional http://exosjs.com Custom builds Backbone drop-in replacement
  • 17. What about legacy browsers? https://github.com/es-shims/es5-shim
  • 18. An example? TODO MVC http://bit.ly/T0oREh Exoskeleton + CommonJS Compiler http://bit.ly/1lr1R7Z
  • 19. Thank you! My credits to www.flaticon.com for these amazing free vector icons and surely to Paul Miller and Adam Krebs for Exoskeleton