Recently we had a small debate about Angular2 and what the benefits and pitfalls of using it for a project right now would be. In the end Fabrizio and I came up with a short list of pros and cons.
- Typescript will force developers to write better code.
- Angular2 should be faster than the Angular1.
- It is best not to invest in a framework if it is to be shortly discontinued.
- You will be one of the Angular2 pioneers.
- The development process will be very strict and it will require a good knowledge of the project.
- Localization of application will be easier with the implementation of the shadowDom.
- Debugging templates will be easier because they will raise runtime exceptions.
- The code needs to be built before deployment. This will slow down the process but will spot code errors and typos.
- Gaps between browsers implementations of new standards will be handled by specific libraries (Angular2 will emulate the shadowDom).
- It is in an Alpha version. It means that the inner structure could (and it will) be subject of big breaking changes.
- The API is not stable yet (breaking changes will be introduced).
- Not all features are implemented yet (you will have to reinvent the missing parts and then once they get officially implemented, your custom workarounds will be obsolete and probably not as optimized and not as good as Angular2).
- Not enough documentation. Also not enough code examples on the web, so much work will be pioneering.
- Ecosystem is not there yet (not all libraries and tools are ported yet). For example: there is an alpha of Bootstrap; Foundation isn’t there yet; the router is not ready yet. The lack of availability of convenient libraries may mean more development.
- Both versions will remain on the market and both of them will be actively developed.
- The team is still thinking about "how to do things for Angular2".
So that's what we came up with. Of course there is no ultimate answer and surely Angular2 will be a good tool once it's ready. But before that happens, we think it's probably best not to use it for serious projects that need to go into production.
Speaking of framework readiness here is an appropriate comic from Commitstrip that hits the spot.