May 7, 2014 · angular-js

My Thoughts on AngularJS 2.0 and 1.x

A little while back, there was a post made about AngularJS 2.0 on the AngularJS blog and I though I would just share my thoughts on it and also the 1.x series.

AngularJS 2.0

For the most part, I am happy with the changes that are coming. I like that they are going to take advantage of a lot of what ES6 is going to provide. I also like that they are going to be more modular in the design of the internal components of angular (and they have already started that in the 1.x series). I know they are also making some changes to better support mobile which I think is good, however I don't do a lot of mobile work so it is not that big of a deal to me.

One things that I really like is there plans for the router. I think everyone can agree that the default router that AngularJS provides is a little bit to simplistic. It seems like the design of the new router is going in a similar direction as the UI Router is (a router I highly recommend for AngularJS 1.x).

Another thing I think some people are upset about is the fact that as it stands now, AngularJS 2.0 is only going to support version 10+ for IE. I for one am completely for this. I don't think they are doing this just to push people to update their browser, I think it is being done in order to produce a better library by not having to support browsers that don't support the features that they need. I feel this is the only way we are going to be able to push the web forward as a platform

AngularJS 1.x

Now one of the modules for AngularJS 2.0 is called Watchtower.js which is a change detection system. Now based off my understanding of this library, while it will use object.observe() if it is available, it does have a fallback system that provides pretty good performance improvements on the currrent dirty checking that AngularJS 1.x does. Based on this information, I asked the following question:

And the response I got from Brad Green was:

I was a bit disappointed. I could understand not doing this if it was not possible because of browser compatibility but that does not seem to be the case here. I would love to be able to volunteer to do this work (and that not totally out of the question) but I am very doubtful I would have the time to learn the inner-workings of AngularJS well enough to make this kind of change. Maybe someone else will be able to do this for 1.x (or I will find the time to do it myself).


Overall I am excited for the changes in AngularJS 2.0. I am sure we are a bit ways out from seeing 2.0 released (even though some of it's components are already up on github) and I probably wont be using it that soon after it is release but until then, I will be pretty happy using the 1.x series.

If your interested in keeping up with the latest developments on AngularJS you can always looks at the github repos or read the weekly meeting notes.

comments powered by Disqus