Why We Use AngularJS

Featured photo via Yuko Honda.

 

“If it ain’t broke, don’t fix it.”

This is one of those popular sayings that we really love to hate on, because it takes the idea of innovation and tosses it aside in favor of acceptance. (One might even say laziness.) It asks, “Why would you want to change something that is working just fine?” when the ideal question would be, “Why wouldn’t you want to change something that could potentially be working better?”

This question alone has inspired us to keep improving upon current processes to provide the best work for our clients. That means regularly testing out new apps, plugins, etc. to find out what sounds like it might help improve the quality of our work versus what actually does.

One adaptation in recent months which falls into the latter category is AngularJS. This open-source Javascript framework is maintained by Google, and has quickly become a favorite web tool around the Azul Arc offices. Our development team has compiled a list of all the reasons why they enjoy using it over other popular frameworks for those interested in adapting it themselves:

Uses HTML to define the app’s user interface :

HTML is a declarative language which is more intuitive and less convoluted than defining the interface procedurally in JavaScript. You can extend HTML attributes with Directives and bind data to HTML with Expressions.

Dramatically improved application design architecture :

When compared to HTML5, jQuery, and even other web development frameworks, AngularJS is designed for full application design, as opposed to object-oriented design or development of individual elements that then all have to be brought together. It’s much more holistic.

Promotes code reusability :

You can create most of your components in such a way that they can be used in multiple applications without changing a single line of code.

Flexible plug and play components :

To add one of the existing components to a new application, you just need to copy it to the “components” directory and you’re done. All scripts, stylesheets, and static assets are available automatically. Removing components is just as easy, and no traces are left behind so the (remaining) code is kept clean at all times.

Allows for more efficient teamwork :

Because each component is isolated in its own directory, team members can work together on the same project much more efficiently. There are a lot less merge conflicts and overall project progress becomes easier to track.

Extends HTML with new attributes :

Instead of trying to work out classes and ID’s for interactive or data elements, AngularJS allows you to use attributes that are specific to the framework itself. The result is more streamlined coding of interactive elements.

Ideal for Single Page Applications (SPAs) :

Anytime you’re on a web tool that seems to allow you to instantly make changes without reloading the page, it’s likely using a similar technology. We call web apps that seem to never reload SPA’s. This simply means that everything happens on the page and AngularJS takes care of the sending and receiving of data and the changes to the interface need to imply the functionality. The advantage here is the speed delivered to the user is on par with desktop apps.

Implementation of MVC :

Start by splitting your app into MVC components, and Angular will do the rest.

 

We’ve worked with many other experimental frameworks, such as MeteorJS and Polymer, to get a feel for what fits best with different projects. However, AngularJS has definitely proven itself as the fan favorite when it comes to app building, and we encourage you to try it out for yourself if you haven’t already.

Want to see AngularJS in action? Check it out as part of our inSITE application.