Angular.js

RIP AngularJS! Oh Sorry, RIP scope, ng-controller, DDO, jqLite and whatever you like in AngularJS

I am  Software Developer, specifically Java Developer, spending most of the time writing back-end part of the applications. I can write basic HTML/JavaScript/CSS stuff to get the things done when needed. I didn’t have much passion on HTML/JavaScript and neither I am good at web development. I just has good enough knowledge to get the front-end work done for my requirements. Whenever I find sometime I tried to experiment with some cool back-end technologies like SpringBoot or JavaEE7, I never spend my weekends learning any front-end technologies.

When I had to develop UI for my projects I preferred PrimeFaces or SpringMVC/Bootstrap and get it done.
But this situation got changed when I found AngularJS!!

Once I started learning and doing AngularJS stuff, I feel its a lot of fun doing front-end development too. AngularJS made so many things easy to build front-end UI such as templating, routing, Ajax etc. I started reading and experimenting with AngularJS on weekends too. I bought couple of AngularJS books and started tinkering with IONIC framework(which depends on AngularJS) too for Mobile Development. Everything about AngularJS is looking great.

Last night I saw ng-europe conference videos on YouTube and I was shocked by seeing their AngularJS 2.0 plans. The bottom line of AngularJS 2.0 is ”
They are going to kill everything that I learned and familiar with like $scope, controllers, jqLite etc” and introducing “annotation madness” and borrowing features from Dart/TypeScript/AtScript whatever.

Simply put the relationship between AngularJS 1.0 to AngularJS 2.0 is same as Struts 1.0 to Struts 2.0. They are sharing the same name for branding purpose, except that everything looks different.

Let us take a step back and see what is good and what is bad in AngularJS 2.0 direction.

Adaptability:

I feel one of the reasons for AngularJS popularity is, it is easy to learn and use even for back-end developers. I am not feeling the same excitement after looking at AngularJS 2.0 annotated classes, cryptic attributes like (click)=”doSomething()”.

As a Java Developer my primary interest is in back-end stuff and I just need a tool to get the front-end stuff done without delving too much into HTML/JavaScript world and I find AngularJS 1.x is really great for my kind of people.

Now with this 2.0 changes for adopting next generation ECMAScript/Dart/AtScript/Whatever features, AngularJS is not seems easy to me like it used to be.

Ecosystem:

One best part of AngularJS is you can find hell lot of information in blogs, YouTube, books etc. Just search for AngularJS tutorials, I am sure you will get piles of blogs and videos showing how to developing end to end applications using AngularJS.

Many people invested so much time in learning AngularJS way of doing things, blogged about it. Many books published on AngularJS and many more books are on the way.

With the AngularJS 2.0 direction, all of this knowledge become legacy. Do you buy and read an AngularJS 1.x book which is going to become legacy content soon??!!

Lot of developers spend so much time and build open-source modules and published on www.ngmodules.org. What will be the future of these modules?? What the module authors should do now? Should they continue adding more features for a dead end project? Should they take a break and wait for 2.0 release and rewrite their whole module as per 2.0 way of doing things??

Developer Tools:

NetBeans/Intellij/Eclipse IDE developers might have spent good amount of time for adding support for AngularJS. Now they have to write another set of plugin(s) for AngularJS 2.0 support!! What about Yeoman angular-generator and jHipster??!!

Future of applications recently ported to AngularJS:

Many of the enthusiastic developers learned and loved AngularJS and convinced their managers to use AngularJS for their next big project. Even worse, you might have recently migrated one of your legacy project to AngularJS. What will be the future of these kind of applications? Should we again rewrite whole application using AngularJS 2.0 or stick to AngularJS 1.3 forever??

Consider my scenario.

We have an internal application with a small set of futures which is developed using Java/Spring/jQuery. We have plans to add lot of other features to this application. I spent lot of time convincing my fellow developers that AngularJS is better and get them out of their “jQuery comfort zone”.

After I showed few demos and explained a bunch of AngularJS features, my manager and team agreed to go with SpringBoot and AngularJS. Now how do I break this news to my manager and team? Should I go back and say “Whatever I explained you about AngularJS is going to be changed completely and I don’t know how it will be in AngularJS 2.0”?.

OMG, I am complaining a lot!! I know it’s open-source world. If you like it use it, otherwise move on. Some people even argue you can fork it and continue on AngularJS 1.x branch and we all know where that argument leads to.

Don’t get me wrong. I am not saying frameworks/libraries should not be evolved. For a major version a framework can break compatibility to some extent, but not to an extent where you just have to rewrite everything.
Conclusion:

AngularJS 1.x was great. But even before my organization’s evaluation cycle completes you broke the compatibility rule. I can’t confidently suggest AngularJS for my future project anymore.

On the bright side, AngularJS 2.0 might be a better framework than AngularJS 1.x if you look at it as a brand new framework (who knows!!). Hope AngularJS 2.0 will be great!!.

Siva reddy

Katamreddy Siva Prasad is a Senior Software Engineer working in E-Commerce domain. His areas of interest include Object Oriented Design, SOLID Design principles, RESTful WebServices and OpenSource softwares including Spring, MyBatis and Jenkins.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

11 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Indrajeet
Indrajeet
10 years ago

Thanks for the information. I was just about to learn Angular but i think i should wait for 2.0

Maxime
Maxime
9 years ago
Reply to  Indrajeet

Haha, if you wait for framework updates you’ll never learn anything !

Emilio
10 years ago

If you are Java developer, try GWT (http://www.gwtproject.org/), Is the technology used to develop the Google Inbox web client (https://news.ycombinator.com/item?id=8554339).

Great frameworks over GWT are GWTP (https://github.com/ArcBees/GWTP) and Errai (http://erraiframework.org/).

PraxGT
PraxGT
10 years ago

I am still learning Angular JS 1.X and it is almost obsolete knowledge, we are building an app using angular which is going to be under development for the next year at least…. when we finished it, it is gonna be dead.

zox
zox
10 years ago

Is it time to try Angular Light?

John Papa
10 years ago

Angular 2.0 will have similar concepts but the syntax will be different. Instead of $scope, controllers, DDO’s, and modules we have similar techniques that are more conducive to ES6 like classes, web components, and ES6 modules. The concepts and learnings will still be valuable. It certainly is a big change, but syntax can be learned. In many cases it will be simpler.

Listen to this interview we did for more information from the Angular team. http://jpapa.me/AiA-016

Alexian
Alexian
10 years ago

I think this thoughts are completely ambiguous. I mean you missed a point in all of this: web components and future versions of EcmaScript. Angular2.0 has been created for such purposes it has been built for a new kind of web development that can not be done right now and for the next at least 2 or 3 years. Even Angular1.3 can not be used without issues, rememer it needs at least IE9 so what about IE8? IE8 is still out there and it will be for at least another 1 year for sure (or beyond). Then the question is:… Read more »

Siva
10 years ago
Reply to  Alexian

Hi Alexian, I understand your point. I am not saying AngularJS 2.0 is bad. I am worrying about the people who spent significant amount of time in learning AngularJS 1.x and waiting for a while to adopt it for enterprise applications. As I mentioned in the article I convinced my management and team to use AngularJS because I believed it is awesome framework. Now I have to tell to my team that many of the things in AngularJS 1.x is going to be changed completely. Now it is not the question of how awesome AngularJS 2.0 is going to be… Read more »

Chad
Chad
10 years ago

“I spent lot of time convincing my fellow developers that AngularJS is better and get them out of their “jQuery comfort zone””

You know, AngularJS isn’t anything like JQuery. The whole “try AngularJS instead of JQuery” argument doesn’t make any sense. To put it in Java terms it’s like comparing Freemarker to Spring MVC

Siva
10 years ago
Reply to  Chad

@Chad,
I know the difference between jQuery and AngularJS as well as Freemarker and SpringMVC.

What I was saying is many people are comfortable with developing webapps with SpringMVC+JSP+jQuery. Now we planned to move to Spring MVC REST+html+AngularJS.

Its not a simple switching a library, its a kind of different way of developing webapp. Its a lot of work convincing people to understand a new paradigm.

Paul Whitehouse
Paul Whitehouse
10 years ago

RIP AngularJS. The Angular team have no concept of the real commercial world. How on earth can a complete U turn be a good suggestion? Google seem to have lost its way somewhat (Dart, Glass and now AngularJS). I heard a podcast recently by the idiot Angular team waxing lyrical on how good V2 is going to be and how a migration path will be found – completely wrong footed by the community reaction and looking surprised and stunned by peoples reaction. I cannot see any business developing a V1.x application or waiting for V2 to materialize and become mature.… Read more »

Back to top button