Angular is for applications, not javascript.

You might have seen this article from PPK this morning, The problem with Angular. Its getting a lot of attention this morning. I wanted talk about it because I think this is one of the fundamental ways people mis-understand Angular, or really any JS application famework.

Angular is different for a reason and I think PPK misses this. Building single page applications is a far cry from handling some mouse clicks. Any framework that attempts to move up the stack will seem like something that isn't javascript. I recently started writing an iOS app. I have written a lot of code that feels foreign to me, and I haven't written a single "click handler", but it's not that objective c or the UI framework is wrong it's just different. It feels like that because we haven't really attacked problems like this in JS until recently.

Sure, we have had things like YUI and Dojo for years but those were application frameworks built using the ideas of JS. I think they largely ignored the success that desktop and mobile developers have had with their frameworks. Angular, instead of saying whats right for JS, has asked the question what is the best way to build applications and how can we do that in JS by any means.

Ultimately, with Angular its easy to think that a mistake was made, but I have always found that if I go with the Angular flow it makes sense. They have a way of thinking that is tantamount to most JS thinking and it took me a long time to come around.