After getting to know details about ng for the last months, I’ve come to appreciate some of the features of angular. You can write quite clean looking code if you know enough ng. From my personal point of preference, “scope” is a bit all over the place. I remember using angular for small project in 2012 not thinking much of it (angularjs shines for projects with a limited complexity).
In order to get sort of a grasp of it there are things that you should read like ng patterns. Some of these things won’t make sense until you understood some ng weirdness: nested scopes in angularjs You may also need read up on the opposition: angularjs the bad parts.
Once you have read these things, you should be able to make some sense of the ng1 and ng2 code bases. There is quite a lot of documentation mixed in with the source (used to generate the api docs). It’s probably better to start to read the code from the point of the api docs (if you know what area you’re interested in), since some of the code has more documentation than code. If you are planning to write something bigger (>10k lines) in typescript, it can be worth to take a look at the ng2 code base since it’s an open source example of a large typescript code base and scripting language usage of files.
There is a lot of focus on components in angular2. In earlier versions (prior to ng 1.5) you can achieve similar type of code by creating directives composed of template and controller.
My guess is that angularjs will have a sort of stable position (but it’s definatelly not hip anymore).
Comments or errors? Fork this post and do a pull request on github