I’ve become somewhat numb to all of the JavaScript libraries and frameworks being released on a
seemingly daily basis. While the ability to choose from a variety of libraries and frameworks is a
good thing, including too many scripts in an application, can be a bad thing for maintenance – at
least in my opinion. I’ve always been concerned about the dependencies that are created as more
and more scripts are added into an application and often longed for a single script (or two) that could
provide the core functionality I wanted.
When I first heard about AngularJS it caught my attention immediately because it appeared to offer
a single framework that could be used to build a variety of dynamic, client-centric applications.
After researching it more, my initial impressions were confirmed, and I was hooked. AngularJS
includes a robust set of features and offers a way to break up code into modules, which is good for
reuse, maintenance, and testability. It provides key features, such as support for DOM manipulation,
animations, templating, two-way data binding, routing, history, Ajax, testing, and much more.
While having a core framework to build on is great, it can also be intimidating and challenging to
learn. As I dove into AngularJS I became overwhelmed with different topics and quickly became a
little frustrated and wondered if it was the framework for me. What was a service, and how was it
different from a factory? How did scope fit into the overall picture? What was a directive, and why
would I use one? Putting the pieces together and seeing the big picture was the initial hurdle that I
had to get over. It definitely would’ve been nice to have a concise resource to consult that flattened
out the learning curve.