Angular JS

Angular JS

2015-03-28

AngularJS also called Angular is a JavaScript web application development framework maintained by Google and the community. The current version is the 1.3x and a version 2 was announced in October ng-europe (the angular JS conference in europe) and confirmed the ng-conf March.

Angular uses the following design patterns MVC (Model View Controller), MVVM (Model View View-Model) and MVP (Model View Presenter) to get the MVW (Model View What you want).
Hear “what you want” as “what works for you.”

AngularJs logo

Basically, the view changes are observed by the model and affects it and vice versa. This means that if you change an element in the view, the model is systematically updated, and if something changes in the model the view get updated. All in real time (or almost).

Personally, having recently tried it for a school project, I find it not too bad, as in functionalities and architecture. The point that bothers me is the two-way observation system (Model View and Model View) that overloads the system much. After all I’m still in the phase “This is all new so it’s cool” so maybe other disappointments will come.

Compatibility level is for “evergreen” and with a little luck for others. In short, the “evergreen” are browsers that update automatically (Chrome, Firefox, IE 11, Safari …).

For the second version of Angular, the development team chose to leave JavaScript to go to typescript. Typescript is an open source language created by Microsoft, this is a wrapper for JavaScript that allows among other things to manage variable typing and object management (classes, inheritance …). The code is then cast to a JavaScript to be executed. Here’s a little demo extracted from Channel9 of what typescript does:

This change makes a lot of noise in the developer community. Indeed such changes challenge the initial choice of technology. The March conference supported that Angular 1.x was not abandoned and that a version will always be available to users. In all cases, it will take the typescript to go version 1.5 (which should not be long now) to start playing with Angular 2.

If you want to test AngularJS 1.x, here is a very good tutorial and for more information on the future version 2, go to the dedicated website.