Tuesday, November 20, 2012

Getting Started with AngularJS is Now Open Sourced!

A couple of months ago we engaged with a customer who wanted a custom web app with a super rich UI.  When I say super rich I mean Eli's cheesecake with fudge carmel truffel oil. Think hierarchy object creation with drag-able and expandable atributes that morph to create new objects, kind of like like g+ circles on caffeine, taurine, glucuronolactone, B-group vitamins, sucrose, and glucose. No problem eh! "There must be some sort of javascript library out there", we thought.

The good news is the customer did their homework and evaluated JS libraries for both Model-View framework and a powerful set of reusable components. Introductions: consultants meet AngularJS, AngularJS meet the consultants. We blushed a little at first when we reluctantly admitted that we had not met this beauty before. The customer assured us that we should not leap from the tallest bridge just yet. AngularJS is a Google project and they have been pretty quiet about it until it went 1.0 which was just a few weeks ago. We did our homework and were really impressed. We thought it was like Backbone and Bootstrap had a kid and BackStrap and BootBone were already taken so they decided to name it after Great Uncle Angular.   

Saying that Angular is a combination of Backbone and Bootstrap is not quite right since it extends and abstracts third party libraries not replaces them. The real beautify of AngularJS is that it's a framework and NJAJSL (Not just another Javascript Library) and this dog can hunt! The concept of MVW (Model-View-Whatever) or MVVM (Model View View Model), which angular embraces, purports to minimize the Controller. It provides an effortless two-way binding between the model and the view without having to manipulate the DOM. They achieve this by abstracting the DOM with a familiar looking construct and they even call it a directive. One genteman said "once you have static html data-binding is so easy even a PM could do it". Sold!

So we decided to run a little open ended contest just to see what our awesome community could produce. We launched Getting started with Angular JS with the thought that we would ask for Hello World for the Insomniac over-achiever or something like this: Self reg login page, store trivial user prefs in Mongo, get the weather, show shiny eye candy... As you can probably tell we were trying to get examples of how easy it would be to bind the view to the model, make a web service call out and still look as pretty as your senior prom date. Robertojrojas, entry was so fine we decided to open it up on github.


No comments:

Post a Comment