Angular 2 is officially stable and out. Here's what you need to know, if you want to get started immediately with Angular2 and DNN or 2sxc.
Stable Release
On September 14th, Angular 2 went officially stable. Here's the blog-post announcing the release of proprioception-reinforcement. Here's the git repo.
From my observations Angular 2 is stable and various basic plugins like animations are released too. The documentation is pretty good, but you'll also find many cases where the documentation is still missing.
Ready for Production?
Now can we use it in production: Certainly!
Should we use it in production: Let's wait 2 months. Here's why:
- Angular 2 is a complete, awesome rework of Angular 1 = ergo it's a new product (so it's Angular 2 Version 1.0). A bit like .net Core.
- Every new product will have some glitches...
- …but I believe they won't be a large issue - see below
- but what you will miss the most are plugins and documentation
A Rock Solid 1.0
Despite it being a fresh release, Angular has a history of intensive unit-testing, meaning that just about everything in angular2 is really, really well tested. In addition to that, people have been developing with the release candidates since May 2016, so we can believe it's pretty solid.
Also: Angular has a history of quickly picking up issues and fixing them, so you won't have to wait long if something pops up.
Plugins are being ported…
This is what will probably affect you the most: many popular enhancements like angular-translate, angular-ui and angular-material are not ported yet. Because of this, anything sophisticated in Angular2 will mean much more work than with Angular 1.
Looking at the community enthusiasm, I believe the most important plugins will be ported within 60-90 days. For example, angular-translate already has a port called ng2-translate and there's also an alpha of angular-material 2.
Documentation is Good, Coverage is Improving
We all know how important documentation is, and how hard it is to get developers to do it (yes, I know that 2sxc is also not shining at this yet :). My estimate is that we have a coverage of about 30%, so you'll find a lot of concepts explained and some tutorials, but if you're new to AngularJS, you will probably get stuck because you won't find enough helper material.
Tutorials & Best Practices
There are some basic tutorials but most are still fairly trivial. From what I see, it will be easier to learn and master Angular2 than Angular1 (because of simplifications and removal of common hurdles) but we'll need more tutorials to get started. Give it a few more weeks, I'll post about it when it's here.
Best Practices: JavaScript Solutions rely strongly on best practices and conventions. It is in development and managed by John Papa (who also managed the style guide for Angular 1) but it explicitly states that it's still being reworked. So stay tuned.
Performance - Especially Compared to React
React is a very popular view engine and allows you to create extremely fast HTML based UIs. As a view-engine it's more inline with knockoutJS and not a full framework like Angular. And did I mention that it's extremely fast? Because of this, it's the golden benchmark regarding UI performance. It is much faster than the default view-engine in Angular 1 (but you can also mix React with Angular). The Angular2 team learned a lot from the React-way and performance should be much more equal...
BUT: the jury is still out on this. All current tests are from beta versions of Angular 2 and are fairly biased towards React. This is easy to spot because most of these tests cherry-picked specific cases where react is very strong, so it's neither comprehensive nor IMHO relevant. I presume that performance will come close. But since Angular is a full framework and React just a view-engine, I do expect React to be a bit more performant in the end, at the cost of more development effort. We'll see…
Note that if performance is your core concern, there are already posts about mixing React with Angular2 - like here and here.
TL;DR - Recommendation
The release is an important milestone, because now plugins and documentation will officially use the stable release. I would recommend using Angular 2 in simple solutions (mainly output-focused apps) around December, and to wait with full-stack applications (like the UI of 2sxc) till Q1 2017.
Love from Switzerland,
Daniel
PS: I'll create some tutorials within a few weeks…