Will the Angular community break into two with Angular 2?

With Angular 2 release just around the corner, there is now discussion on how will the new version take off. Is it just too different from the 1.x branch to catch significant marketshare in the squeeze of React and a multitude of other options?

There is plenty of competition in the JavaScript framework domain and one of the most hyped up alternatives to Angular (both 1 and 2) is React.js and it's accompanying ecosystem of libraries.

When Angular was originally released in 2010 it was a fresh breath of air to developers. Seemingly magically you could add some attributes to your existing HTML code and Angular would bootstrap it to a working application.

A lot of the success of Angular comes down to this low barrier of empty and instant gratification that comes out of it. Later on it was discovered that this "magic" can lead to significant performance issues in real-life applications. This is one of the reasons the Angular 2 development team has kept performance in mind from day one.

Angular 2 is better, but not easier

All in all Angular 2 is a great technical improvement that is able to target many more environments like mobile applications as well server side rendering using Angular universal. The component based architecture also makes it more suitable for building large scale enterprise applications.

On the downside comes that the barrier for entry to Angular development is higher with the second iteration. While it is still not as intimidating as React.js development for new comers, it's still not as easy to pick up as Angular 1 was (and continues to be).

In the coming year it will be interesting to see how the large community of existing Angular developers will pick up the new toolkit. Many of them have invested a lot in their current skillset and some might simply be tied to their large Angular application that was built.

Choosing a front end framework is a big bet

For newcomers choosing between Angular 1 and 2, Angular 2 is a nobrainer. But choosing between React and Angular 2 is harder. In theory React seems tempting and appeals to developers who disliked the magic that made Angular so popular.

On the other hand Angular 2 offers a more cohesive structure and great tooling, where as React based stacks are still very diverse in implementations. This is why maintenance of many React.js projects started in 2015 and 2016 will be horror going forward. Continuous refactoring and yak shaving guaranteed for years.

As Angular 2 and React.js are both best suited for building complex front end applications. Many projects still don't require something like Angular 2 or React.js. It might be that simple and fast to pick up frameworks like Vue and Riot will fill in where developers previously used jQuery - small additions and things to CMS driven websites.

Until we get native support for features that front end frameworks offer, you're going to have to make a big binding choice. Interestingly Google has it's shoe in both the framework and native web component support with Angular 2 and Polymer.