In this article, we intend to compare three popular MVC frameworks for the web: AngularJS vs. Backbone vs. Ember. Selecting the best framework for your work can have a massive effect on your skill to deliver on time, and your ability to keep your code in the future. Maybe you want a solid, stable and tested framework to make upon, but don't want to be restricted by your choice. The web is changing fast - new technologies come up, and old methodologies easily become unimportant. Under this light, we are going to move through an in-depth assessment of the three frameworks.
Meet The Frameworks
All the frameworks we are going to meet today have a lot in common: they are open-sourced, released under the permissive MIT license, and try to solve the problem of creating Single Page Web Applications using the MV* design pattern. They all have the concept of views, events, data models and routing. We are going to start with some quick background and history, and then dive in to compare the three frameworks.
AngularJS was created in 2009 as a part of a bigger commercial product, called GetAngular. Soon after, Misko Hevery, one of the engineers who created GetAngular, was able to reproduce a web-based application that was made up of 17 thousand lines of code and took 6 months to build up in just 3 weeks using just GetAngular. Lowering the size of the application to just about 1,000 lines of code convinced Google to begin supporting the project, making it into the open-source AngularJS we all know today. Amidst Angular's exclusive and revolutionary features are two-way data bindings, easy-to-test code, dependency injection, and extending the HTML dialect with the use of directives.
Backbone.js is a lightweight MVC framework created in 2010, it rapidly became popular as a lean replacement for heavy, full-featured MVC frameworks such as ExtJS. This led to many services implementing it, including Pinterest, Flixster, AirBNB and others.
Ember's roots go way back to 2007. Starting its life as the SproutCore MVC framework, initially created by SproutIt and later by Apple, it was forked in 2011 by Yehuda Katz, a core contributor to the well-known jQuery and Ruby on Rails projects. Notable Ember users incorporate Yahoo!, Groupon, and ZenDesk.