Originally developed in 2009 (by Miško Hevery and Adam Abrons), Angular has quickly climbed the ladder in popularity, thanks to features such as: dependency injection, directive writing, two-way data-binding and testability.
Reasons for Learning a Thing or Two About Angular
- Angular supports parallel workflow: similar to XAML, Angular enables developers involved in the project to work in parallel on various tasks.
- Angular handles very well dependency injection: meaning that a developer can divide an app into logical modules, which will have dependencies on each other, although they are initialized separately.
- Angular allows developers to perform Test-Driven Development, Behavior-Driven Development, and other driven development methodologies. Now, now don't get upset, you don't like testing, I know, but the alternative would be to fix (sometimes near the deadline) an endless number of issues... so do you see the importance of testing?
- Angular supports Single Page Applications: do you need a simple website, perfectly suited for your needs? You needn't look any further — Angular can take care of this, providing developers with proper infrastructure, templates, journaling, etc.
Developers can express UI declaratively, with benefits such as:
- A structured UI can be understood and manipulated better.
- Designers that find programming hard can instead learn markup language.
- The bindings are declared at the source.
The Angular Learning Curve
Most developers agree that AngularJS is not the easiest thing to learn, and it has a steep learning curve... or at least for the more advanced stuff. Starting learning Angular is pretty easy, but there is no royal road for learning the more advanced stuff.
Also, when it comes to documentation, prepare to "dig deep" in order to find the help you need (I recommend reading some good tutorials, such as the ones from CodeCademy.
Angular at Work
It would be impossible to list even the smallest part of the well-known websites which use Angular, so I consider that the websites of Intel, Sprint, NBC and ABC News are enough to convey its usage and popularity.
In the next article, we're going to see a small app created in Angular, but until then, fell free to share with us your experiences with Angular.
Update: Now that you got to know something about AngularJS, it's time to get underway and see it in action.