Choosing a JavaScript MVC Framework Héctor Martín IT/SDC May 9, 2014
TABLE OF CONTENTS I. Top current frameworks. II. Popularity. III.Introduction. IV. Features. V. Philosophy. VI. Why Ember? VII. Conclusions and future work. 09/05/2014 Héctor Martín de los Ríos 2
TOP CURRENT FRAMEWORKS 09/05/2014 Héctor Martín de los Ríos 3
POPULARITY I: GITHUB 09/05/2014 Héctor Martín de los Ríos 4
POPULARITY II: STACKOVERFLOW 09/05/2014 Héctor Martín de los Ríos 5
POPULARITY III: STACKOVERFLOW 09/05/2014 Héctor Martín de los Ríos 6
MOST POPULAR FRAMEWORKS 09/05/2014 Héctor Martín de los Ríos 7
INTRODUCTION 09/05/2014Héctor Martín de los Ríos 8 Extending HTML syntax Convention Biggest communitySecond biggest community None Handlebars.js (14kb), Ember- data (19kb) & Jquery.js (32kb) 36 kb71 kb FIRST RELEASE PILOSOPHY COMMUNITY DEPENDENCIES SIZE (min + gzip)
FEATURES 09/05/2014Héctor Martín de los Ríos 9 URL DRIVEN Built-in but rudimentaryBuilt-in UI DECOUPLED Manual Ajax or Restful Client Built-in MODULAR Good separation of concerns Very strict separation of concerns POPULAR UI ELEMENTS - Google Chart Tools - External libraries -Ember Charts -Jquery plugins -External libraries
FEATURES 09/05/2014Héctor Martín de los Ríos 10 VIEW TEMPLATES Declarative DOM-basedString based. Handlebars NESTED VIEWS Only with UI-RouterBuilt-in DATA BINDING Two way. Dirty-checkingTwo way. Change listeners
DIFFERENT PHILOSOPHY 09/05/2014Héctor Martín de los Ríos 11 You want to do this? Do it this way "You want to do this? Here's everything you will need to do it, use it"
WHY EMBER? 1. Robust and Maintainable. - Structure: 09/05/2014Héctor Martín de los Ríos 12
WHY EMBER? 1. Robust and Maintainable. - Conventions: 09/05/2014Héctor Martín de los Ríos 13
WHY EMBER? 2. Ember-data. 09/05/2014Héctor Martín de los Ríos 14
WHY EMBER? 3. Performance. 09/05/2014Héctor Martín de los Ríos 15
WHY EMBER? 4. Routing. 09/05/2014Héctor Martín de los Ríos 16
WHY EMBER? 5. Debugging.Ember Inspector. 09/05/2014Héctor Martín de los Ríos 17
CONCLUSIONS AND FUTURE WORK Ember selected. Robust and Maintainable. Performance. Ember-data. Format Json properly. Migrate the sam3 app as a real usecase. 09/05/2014Héctor Martín de los Ríos 18