The AngularJS framework provides superpowers to the HTML as it adds all necessary features that are required for building dynamic views (the interactive user interfaces). AngularJS gives option of 福汇 extending the HTML attributes by using Angular directives. It is very simple to extend HTML with the Angular JS. You can use the standard AngularJS directives or develop custom directives and mount on a div.
When the HTML is compiled and rendered on a user interface by Angular compiler, Dom manipulation is done by it and it attaches all the features given by directive used. This is just one way of using AngularJS for empowering web applications.
The 2 way data binding lies at the center of AngularJS. When users interact with interface and give input, the view and model are synchronized. Logic in this model gets executed and DOM is updated.
Reverse also holds true, if the model is updated, the view will be re-rendered. What this does is that it takes away the hard work of writing the manual code for manipulation of DOM.
The recently released ReactJS framework is giving good competition to the AngularJS but Angular JS is strongly holding the ground and its demand is more than ever. The major reasons behind the continuous growth of AngularJS are those improvements and the advancements that come with the new releases.
It was created by Rob Eisenberg with his team. Although Aurelia is open source framework, Durandal Inc. manages it officially. Durandal Inc. is a company that makes tools, libraries and frameworks for supporting the next generation web development.
This framework was released in the year 2015 and it’s now ready for the production use. Aurelia extends Durandal’s capabilities and it has been referred to as the next generation version of Durandal by Eisenberg. Aurelia gives a clear path of migration to the existing developers working in Angular 1, Angular 2 or Durandal.
Here is a great fact about Aurelia. AureliaJS is highly modularized comprising of numerous small independent libraries. You can use the entire framework in project, or use few libraries according to requirement, or extend the chosen libraries in order to create a custom framework.
AureliaJS is a self-contained package which does not have external dependencies. The only external dependencies it has are for the polyfills.
Instagram and Facebook’s user interface is powered by ReactJS. This shows the power of the Reach JS in building very dynamic in nature web applications.
ReactJS does a great job when it comes to rendering a complex user interface with high performance. The concept of virtual Dom is primary fundamental behind the ReactJS. The framework utilizes virtual DOM that one can render at server side or client side.
When manipulation of data is more complex and more dynamic, the client side manipulations of DOM prove to be performance intensive.
React takes the following approach to handle this issue:
DOM is rendered at the server side, virtual DOM.
Virtual DOM is compared to actual/browser DOM and differences are figured out.
After that, update only changed/selective nodes of the browser DOM, instead of rendering entire DOM again.
The reusability you get in shape of reactive components is another major advantage of the ReactJS. The component libraries of react can be made and they can be used across the applications or they can be made available for the public use.
For example: the Material User Interface framework implements the material design of Google using the react components.
In case you need more inspiration then checkout the user interface of Instagram, it is powered by the ReactJS.
This is a completely different ball game. Google released Polymer in 2013. This framework uses the concept of web components in order to extend the capabilities of HTML.
Web Components was released by the W3C. It is a browser technology that can be used for creating new custom HTML elements. For instance, <audio> is standard element of but with web components you can create new custom element – such as <my-audio>.
What PolymerJS does is that it provides power and brings structure in building the custom HTML elements using the browser based technologies like web components.
Its power and popularity can be well judged from the fact that giants like Walmart, Foursquare, Pinterest, Delicious and Disqus are using it. These are only some of the users of backbone; the complete list is very huge and cannot be covered in this article.
BackboneJS is very simple, it has a small sized package and it can be easily learned. You can start by making apps with the BackboneJS framework.
Backbone JS is quite flexible as it comes with just the minimal and one can start building anything on top of that, by writing one’s own code or by using a third party JS framework. You can even build fully functional opinionated frameworks with the backbone JS at their core.
We have seen relatively slower growth in the usage of Backbone JS as compared to rivals, Ember, Angular or React.
The major reason for this seems to be slow release cycle of the Backbone JS and its lack of powerful features that are being offered by other frameworks.
Of course, it’s still a very useful framework but more as the side framework rather than core framework of the web projects.
Steve Sanderson released the KnockoutJS in the year 2010. It was released under the MIT license as an open source JS framework. It works under MVVM design paradigm and this makes it different from Angular and Ember.
Knockout has already seen the golden time but now it’s growing at slower speed as compared to its competitors like Ember, Backbone or Angular. The reason for this slow growth is because the framework lags behind in adding new features and improvements.
Different concepts and different methodology is offered by different frameworks. However, they attempt solving the common underlying problem of dynamically rendering the complex user interfaces and making the single page applications faster and more useful.
mithril.js is also including in this list