So, in between my Drupal theming projects over the past four or five months, I've been reading quite a bit on Angular, creating a few trivial projects and generally trying to understand the framework more deeply before tackling a substantial project for a client.
Not All Sunshine and Roses
It's pretty easy to find Angular tutorials that leave you fired up about building an app. Some of the best AngularJS tutorials I have found are by Todd Motto - try here and here for a couple of his best resources. He goes beyond the simple, 'Hello World' type examples you'll often find and talks more about how to build an app that will work in a professional team environment.
But very recently things have hit a snag with me and my budding love affair with AngularJS. It turns out that Angular can be rather slow (the ease of use comes with a price), it is difficult to debug, and with the upcoming Angular 2.0, the whole project is starting over. As in, zero backwards compatibility. So the big investment you make in learning Angular today - or worse yet, the investment you make in building your application - will have a very short shelf life.
Read These Before You Commit to a Framework
Understand, I'm not trying to bash AngularJS or any other framework with this post. My feeling is simply that as a frontend developer, I'm faced with an overwhelming number of new tools, frameworks and processes, each vying for my attention and support. If I'm going to invest my time in learning to use any of these in my work, there needs to be a long term payoff that will help me move my career forward. As cool as it is, I'm not sure that describes AngularJS anymore.