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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

JavaScript MV* Framework - Making the Right Choice

  • 1,754 views
Published

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

Published in Internet , Technology , Education
  • 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,754
On SlideShare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
23
Comments
0
Likes
1

Embeds 0

No embeds

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