When I first started looking at it, I didn’t understand the purpose. It seemed much too complicated for what it did for you. Now I’ve come to a better understanding of its purpose. It allows you to move portions of your application off the server and onto the client. It does so in a way that forces your code to be more thoughtfully structured. Now that I understand it better, I intend to use it.
Angular 2 was recently released into the world. This has complicated my learning a bit, but I feel I have a better understanding now of how to go about learning Angular. I would suggest learning Angular 1 first, at least for the time being. It is simpler to get going and will allow you to understand Angular’s concepts better. Once you have a handle on Angular 1, then look at Angular 2. For Angular 1 developers, I think Angular 2 will not be too hard a transition. For now I think Angular 2 is too steep a learning curve for people new to Angular all together.