Advantages and disadvantages of AngularJS

AngularJS is a JavaScript framework that can be used when you are building a CRUD client side app. CRUD stands for create, read, update, delete majority of web applications that are made for rich client sided applications.

So why do people developers slant towards AngularJS

The main reason could be because it allows for rich client side interaction. If, in the past, you had to put up with boring static pages with text and more text, that is no longer the case now. Angular JS can be run anywhere that JavaScript can run and it is written completely in JavaScript framework. AngularJS is thus completely a client side support framework.

Have a look at the disadvantages and disadvantages:

The good side

Developed by Google

The first advantage of AngularJS is that Google developed it. So you can be assured that the code is reliable and efficient. This framework was built by a community of dedicated developers and not by a community of amateur hobbyists, as was the case with several other frameworks. AngularJS is maintained by a very large group of Google engineers and even though you may not have access to a large pool of engineers to clear your doubts and post your queries, you have the advantage of gaining the guidance of highly skilled and talented engineers.

Getting started is incredibly easy

Starting with and using AngularJS is incredibly easy. You can actually add a few attributes to your HTML and reap the benefits of a simple Angular app in as much as five minutes. You can use HTML attributes to access Angular S directives.

Two-way data binding

It is possible to do two-way data binding with AngularJS, meaning you can make any data related changes and it would immediately be propagated to the corresponding views and when any change is made in the view, that would happen in the underlying model as well. As soon as the app data changes, there will be corresponding changes in the UI as well.

Use of custom directives

For many developers the directives AngularJS is a personal advantage. If you have been wishing for a browser that would do a couple of tricks for you like creating custom HTML tags or decorate elements with behavior, then Angular JS makes it possible. Additionally, you can also manipulate DOM attributes in several exciting ways.

Dependency injection

The built-in dependency injection is something most developers love about AngularJS. This feature helps them to develop, test and understand applications in a better way. With the DI feature, you no longer have to go looking for dependencies, or make them yourself, but would be made and brought before you. In order to ensure you have AngularJS’s core features, you can simply add that parameter and customize it as well.

Client side MVC framework with Angular JS

Client side MVC framework is important when you start working with HTML and data on your page. MVC frameworks are tools that would help you manage web page interactions and data collections. Angular JS provides the best “lightweight solution” for creating a balance between the client logic and server. Apart from the other advantages mentioned above, like two-way data binding and dependency injection, AngularJS enables you to quickly write client side web applications by using the basic principles in the MVC software design patterns as well. Though you cannot make use of MVC framework in the traditional sense, you can do it in the MVVM model. MVVM model stands for Model-View-View-Model. Here Model means the JavaScript objects or data in the application.

Use of filters

Filters are used in AngularJS to transform data. The various kinds of filters used are:

Filter

Currency

json

limitTo

Lowercase

Number

OrderBy

Upprcase

Date

Additionally, you can also make your own filter by registering a new filter factory function when you are working with your module.

The bad side of AngularJS

There is a not so popular side to AngularJS. Lets explore that:

The libraries have to be AngularJS specific

Most developers feel that AngularJS increases test time considerably and this in turn affected build time. The framework does not work very well with tools or libraries that are not AngularJS specific. If you want to test rich single page apps that have several JavaScript iterations spread across pages, you may have to use two different testing stacks. But developers do not advise it.

Nature of AngularJS framework

Developers say that AngularJS framework has its own specific view of the world, and people who are going to use this framework would have to accept its way of doing things. Though frameworks are useful in helping you generate that MVP (Minimum Viable Product), you still have to ensure its maintainability. The only way to work with AngularJS is to come around to its terms. You can only use a tool that is within its ecosystem, hence, that makes the JS library very restricted.

Additionally, you will have to be aware of any memory leak in JS, because if there is one, it would lead to slow browsers, however powerful your system may be. AngularJS do not support older versions of Internet Explorer 8.0.

The framework is complicated

Some developers say the framework is overcomplicated and unless you are highly experienced, it is not possible to use it. You need to be aware of what is happening in the front end to read the code.

Conclusion

Even so, Angular JS is still the most popularly used framework. You might run into problems, but those are “fixable” problems. Perhaps, developers like using Angular JS because it allows the developers to fragment their logic into modules, making the codes more granulated.

Interesting links about the topic:

AngularJS advantages and limitations

Pros and Cons of AngularJs

AngularJS – Overview

AngularJS – Official Page

Pictures: Flickr.com/ Sebastian

The author: Reema Oamkumar is engaged as a thought leader at Software-Developer-India.com which is a part of the YUHIRO Group. YUHIRO is a German-Indian enterprise which provides programmers to IT companies, agencies and IT departments.