© Shutterstock / Suwanmalee
In my opinion, the most powerful boon for the development of the language was the creation of AJAX. AJAX is a technology that allows requesting and retrieving data from a server without reloading the page. From then on, it was possible to develop applications within a browser without invoking specialized inline apps such as Java applets or Adobe Flash.
Obstacles along the way
SEE ALSO: Two years with Angular and loving it
Today, jQuery is a standard library that reconciled developers with browsers. Think of it as kind of a code unifier. Once you enabled it, the cross-browser problems disappear. The features perform the same on every browser.
As time passed, the requirements for coding speed kept on rising. The era of single page applications was dawning. Everyone needed a cheap tool that would support routing, modularity, and link to data. It also had to have a low learning curve, so that a programmer could hit the ground running.
The first steps were ExtJS, prototype, YUI, and dojo. The key disadvantages were the high learning curves for each.
Then, backbone appeared. It became the envy of the industry for some time, but it too soon revealed its own peculiarities that developers had to take into consideration when coding. But then the two giants, Microsoft and Google, entered the market. Microsoft started developing KnockoutJS, and Google introduced AngularJS.
The current front-runner: Angular
Sometime later, Facebook introduced ReactJS, its own library for JS-rendering optimization. ReactJS only deals with rendering but was based on “picking up” data variation. Facebook also offered its own architecture for building Flux applications.
Google introduced the second version of Angular, which was more similar to Flux architecture than to the original architecture of Angular1. In fact, Angular 2 could use ReactJS as an engine for views.
Currently, Flux+ReactJS and AngularJS 2 are the key players in the market. In fact, Angular 5 is already on the market. Despite this, version 2 is still sitting pretty. Another contender is TypeScript, which represents additional syntax and which can be used both for React and for Angular.
The essential difference between Flux+ReactJS and AngularJS
AngularJS is a framework which enables coding out-of-box. It has a very convenient CLI, but it requires its own application architecture. Flux’s architecture can be utilized with a wide variety of methods.
For now, the most popular architectural implementation is Redux. This provides more flexibility in solution choices. It likely provides more optimal code with respect to recourses. However, without proper control, any app can snowball which results in maintenance complexities.
This article is part of the “Use, favor, ditch: Angular, Vue.js, React & Node.js” JAX Magazine issue:
The number of libraries and frameworks could easily overwhelm you so let’s stick to the most popular ones: Angular, React and Vue.js.