A while back the Angular team made an announcement about their plans for the next generation of Angular – Angular 2.0. The presentation revealed changes that represent a big departure from the current 1.x version. Developers everywhere responded with a mixture of shock and disbelief after learning that core concepts of Angular 1.x would be dropped in 2.0. In fact it almost seemed as if the team had decided to create a brand new framework, but still name it Angular for brand recognition. However, in this post I want to explain why I think the new Angular approach is the right one.
I too was really surprised to see the new direction of Angular 2.0, but after thinking about it, I firmly believe it's the right move. It's commendable that the Angular team is trying to push the envelope and move Angular into the future in order to stay relevant. The changes may scare some, but it's in my opinion, a strength of our industry that our frameworks and technology are constantly evolving.
I am not saying the transition will be free, but if you think about it, taking a properly decoupled model and applying it to a different binding syntax is really not that complicated in the scheme of things. Sure you have to go over your views and make several updates, but a few well crafted “search and replaces” will probably get you started :-). Keep in mind, I am making the assumption that your code is already properly decoupled and in services, and only using controllers/directives as thin “pass through” layers.
I have created a few sample Angular 2.0 components here if you are interested in checking it out.