2015-04-17

Source: webdesigndegreecenter

All the frameworks we are going to meet today have a lot in prevalence: they are open-sourced, relinquished under the permissive MIT license, and endeavor to solve the quandary of engendering Single Page Web Applications utilizing the MVC design pattern. They all have the concept of views, events, data models and routing. We are going to commence with some expeditious background and history, and then dive in to compare the three frameworks.

1. Angular JS

AngularJS was born in 2009 as a component of a more immensely colossal commercial product, called GetAngular. Shortly after, Misko Hevery, one of the engineers who founded GetAngular, managed to reconstitute a web application that consisted of 17 thousand lines of code and took 6 months to develop in a mere 3 weeks utilizing just GetAngular. Reducing the size of the application to just about 1,000 lines of code convinced Google to commence sponsoring the project, turning it into the open-source AngularJS we ken today. Amongst Angular’s unique and innovative features are two-way data bindings, dependency injection, facile-to-test code and elongating the HTML dialect by utilizing directives.

HTML is great for declaring static documents, but it falters when we endeavor to utilize it for declaring dynamic views in web-applications. AngularJS lets you elongate HTML lexicon for your application. The resulting environment is extraordinarily expressive, readable, and expeditious to develop.

Other frameworks deal with HTML’s shortcomings by either abstracting away HTML, CSS, and/or JavaScript or by providing an imperative way for manipulating the DOM. Neither of these address the root quandary that HTML was not designed for dynamic views.

AngularJS is a toolset for building the framework most suited to your application development. It is plenarily extensible and works well with other libraries. Every feature can be modified or superseded to suit your unique development workflow and feature needs.

2. Backbone.JS

Backbone.js is a lightweight MVC framework. Born in 2010, it expeditiously grew popular as a lean alternative to cumbersomely hefty, full-featured MVC frameworks such as ExtJS. This resulted in many accommodations adopting it, including Pinterest, Flixster, AirBNB and others.

Backbone.js gives structure to web applications by providing models with key-value binding and custom events, accumulations with an affluent API of enumerable functions, views with declarative event handling, and connects it all to your subsisting API over a RESTful JSON interface.

The project is hosted on GitHub, and the annotated source code is available, as well as an online test suite, an example application, a list of tutorials and a long list of authentic-world projects that use Backbone. Backbone is available for use under the MIT software license.

When working on a web application that involves a plethora of JavaScript, one of the first things you learn is to stop tying your data to the DOM. It’s all too facile to engender JavaScript applications that end up as tangled piles of jQuery selectors and callbacks, all endeavoring frantically to keep data in sync between the HTML UI, your JavaScript logic, and the database on your server. For affluent client-side applications, a more structured approach is often subsidiary.

With Backbone, you represent your data as Models, which can be engendered, validated, ravaged, and preserved to the server. Whenever a UI action causes an attribute of a model to transmute, the model triggers a “change” event; all the Views that exhibit the model’s state can be notified of the vicissitude, so that they are able to respond accordingly, re-rendering themselves with the incipient information. In a culminated Backbone app, you don’t have to indicate the glue code that looks into the DOM to find an element with a concrete id, and update the HTML manually — when the model changes, the views simply update themselves.

Philosophically – Backbone is an endeavor to discover the minimal set of data-structuring (models and accumulations) and utilizer interface (views and URLs) primitives that are generally utilizable when building web applications with JavaScript. In an ecosystem where overarching, decides-everything-for-you frameworks are commonplace, and many libraries require your site to be reorganized to suit their look, feel, and default deportment — Backbone should perpetuate to be an implement that gives you the liberation to design the full experience of your web application.

3. Ember

Ember.js is an open-source client-side JavaScript web application framework predicated on the model-view-controller (MVC) software architectural pattern. It sanctions developers to engender scalable single-page applications by incorporating prevalent idioms and best practices into a framework that provides an affluent object model, declarative two-way data binding, computed properties, automatically-updating templates powered by its own template library, HTML Bars (antecedently Handlebars.js), and a router for managing application state. Indite dramatically less code with Ember’s Handlebars integrated templates that update automatically when the underlying data changes.

Ember’s roots go way back to 2007. Starting its life as the SproutCore MVC framework, pristinely developed by SproutIt and later by Apple, it was forked in 2011 by Yehuda Katz, a core contributor to the popular jQuery and Ruby on Rails projects. Eminent Ember users include Yahoo!, Groupon, and ZenDesk.

Summary

As above infographic says that the relative interest of angular JS is 90 in terms of google Which is way to high compare to Backbone.Js and Ember. Github, Stackoverflow, Youtube, Third Party module and Chrome profiles of Angular Js is very strong.

Community is one of the most paramount factors to consider when culling a framework. A sizably voluminous community betokens more questions answered, more third-party modules, more YouTube tutorials…you get the point. I have put together a table with the numbers, as of August 16, 2014. Angular is definitely the victor here, being the 6th most-starred project on GitHub and having more questions on StackOverflow than Ember and Backbone cumulated, as you can visually perceive in above infographic.

If you are novice to these frameworks, we recommend you to choose Angular Js because features are pretty cool, support is outstanding, huge investments and profit is high.

The post Most Popular JavaScript Frameworks 2015 appeared first on I am Programmer.

Show more