In the past, I explored AngularJS and opted not to use it. Ironically, I got a job (short term contract) as a "Senior Software Developer." I help a small but great team maintain a Rails and AngularJS app. My first few days using the framework for real work that pays does not change my mind about it. My opinions are more negative than positive but I like the team that I work with and we're building something interesting and something that will be used by thousands of people. Those are my primary concerns and not the stack. I can always change my mind about the stack. After all, there is no such thing as a perfect framework. Had I built one, it wouldn't have been perfect for someone else either.

Here are the reasons why you should not use it today:

  1. Given you have no future budget of refactoring an existing application, AngularJS 1.x is not your option. Just use something more sane like Ember.js. The current AngularJS version works but it has its insufficiencies and flaws which the core team know about. They are doing a rewrite and will remove a lot of things from the core. Watch Angular 2.0 Core by Igor Minar & Tobias Bosch.

    In the future, I might change my mind about AngularJS given the fact that it is being rewritten and they seem to have a plan now.

  2. Unlearning is much more difficult than learning. Before working, I spent some days learning AngularJS best practices through books, videos and documentation. Learning is fun but unlearning isn't. The required mental effort and time of doing so varies among people. Maybe it is just a few hours of coding for a small app but I am still very certain that it's not easy to rewrite an AngularJS application. It looks simple but it's very intricate when you look at all of the details.

  3. If you know JavaScript, or worse, just "jQuery," AngularJS will hurt your brain and your eyes. As someone has already ranted, "the only way is the AngularJS way." You don't use the jQuery click function, you use ngClick and the directives they recommend. Bits of your application cannot talk to each other directly. A directive should not know anything about your controller so you need to create an attribute. You have to write more code than needed in some cases.

I don't have a lot of extremely bad comments about the framework. It works but it feels and looks like a downgrade to me. I want to use AngularJS 2.0 or the version the people who spent their hundreds of hours learning AngularJS 1.x way will hate. Technology changes quickly. We are capable of changing anything if we make the wrong choices but we should use our judgment well when choosing a stack. Thank you for reading!

comments powered byDisqus

Hello! I am Kat. I've been a developer for several years. When I'm not sitting down, reading and working for long hours, I am traveling to some place of interest.
If you want to reach out, you can send me an email or add me up on Google Plus.