The reason Angular JS will fail

I’m all about new technology, but just like Steve Jobs had put it, it has to be intuitive. It has to feel comfortable, and easy to learn. This is reference to another one of my posts done here: Angular JS Kinda Sucks. The main reason Angular JS will fail is because it’s difficult. Honestly, who likes to make their lives more difficult? Not this guy. That’s not to say I’m looking for the easy way out. I believe in hard work paying off, but to make things difficult just for the sake of saying that I did something difficult that I could have done with ease, other ways? That’s just ridiculous. Yes, I can take a boat across the English channel, but why not make it harder and swim it? Other than getting into the book of world records, there really is no practical reason to do so.

Which brings me to the pattern of ever failing technologies. Remember Moo Tools? Prototype? I do too, and sadly, I use NONE of them in any of my projects. jQuery has evolved with the times. It has gotten better and better, and even with its 2.0 release, revolutionized. All while keeping its key ingredient of keeping itself simple to use and logically understandable. Any one of us who struggled with JS before jQuery came along created our own JS libraries to handle mundane tasks of JS. Class lookups, selecting elements, animation, AJAX, etc. We all wondered if there was an easier way to do repetitive work like that. jQuery came along and helped us out in that department.

Prototype and moo tools tried to be innovative, but they just made things harder. Not only were they not intuitive to use, but referring to the documentation was even worse. Would take hours what jQuery could accomplish in mere minutes.

Don’t look at how many companies use those other tools right now. Wait for it and see how many companies will use those same tools in the future. 5 years, 10 years… jQuery has stood the test of time. And the reason they keep winning is because they cater to the developer, the people who are using the tool the most, and making their lives easier to deal with. It’s a complement to code, not a spaghetti nightmare filled with complexities and high learning curves.

I remember the first time I built a web page using jQuery. It was easy. It was instinctive. It was amazing. It made want to use more of it. AngularJS unfortunately, did not have that same effect on me.

In the end, I guess it’s to each their own, but too many times I’ve come across reviews that are not so pleasant to read about Angular JS. Even doing a google search on “jQuery sucks” vs “AngularJS sucks” shows that there are more results for the latter, and AngularJS has only been around for a few years, while jQuery, almost a couple of decades. You’d think that there would be more results for jQuery since it’s been around for longer, and that AngularJS has been harbored by Google.

What are your thoughts?

  • Alyssa-chan

    It seems like I was not the only one who felt something is wrong with AngularJS. I tried to like it… really. While learning it I consumed a lot of resources: books, blog posts, and screen-casts. But my opinion of it still doesn’t change. It sucks. I won’t say the word ‘kinda’ because it is only a softener that attempts to offend people less. I bet the creators of AngularJS can handle it because they are all grown-ups.

    The problem is that it’s backed by Google. Well, Google is composed of many smart people writing complex apps and inventing revolutionary algorithms. The people working there are in the top 1% of society when it comes to intelligence. What about us on the bottom 99%?

    Since you have mentioned Steve Jobs, I remembered the possible explanation why the iPod has been a huge success… It’s because it was intuitive to use, unlike other mp3 players at that time. One might argue that developers like us are smart people, and all we need is patience and persistence in able to learn something new. But times are changing. Things are getting more complicated. Why not make them simpler? As Albert Einstein said, “Everything should be made as simple as possible, but not simpler.”

    • George

      Brilliantly written.

      • Alyssa-chan

        Thanks. BTW you got a nice blog :)

        • George

          Thanks! Glad you enjoy it.

  • http://www.sachagreif.com/ Sacha Greif

    It’s not quite the same thing, but you might want to give Meteor a try. It definitely tries to make things easier.

  • web4future

    Angular will fail because of the community. I asked a questions which many have asked after me, and 3 months on is still unanswered..yet, it’s a simple question, that the documentation or a 3 line example could have fixed. Goodbye Angular, I’ve since redone the work for my client with Jquery and datatables and it was even easier to do then in Angular.

  • dmackerman

    This is the reason AngularJS failed FOR YOU. I’ve built several apps with Angular with a lot of success – more so than if I were to build it with say, just jQuery.

    It’s quite a blanket statement to say that a technology will fail just because it failed for you. There are thousands of developers being productive with Angular. Beyond that, it’s still in it’s infancy. Understanding will improve, docs will improve, and the community will improve – I hope. :)

    Angular is not a fit for every project. Understanding when it’s a fit will go a long way in determining the success of your project. Angular is a fit for my brain, and the way that I think about building web applications. This is not true for every developer, and those certain devs WILL struggle with Angular.

    Just my 2 cents.

  • JonRimmer

    You have it completely backwards.

    jQuery is the equivalent of swimming: Easily understood, not too difficult to learn, and a great and convenient way to cross short bodies of water. However, when you reach a channel, or a sea, or an ocean, and you try to swim across it, you’ll quickly get into trouble, you’ll flounder, and you’ll drown.

    AngularJS is the equivalent of a boat. It requires more effort to acquire it and to learn how to operate it. You might even need a whole crew of people to do it. So why bother, when swimming is so much easier? Because when you do reach a sea or an ocean, and you absolutely have to cross it, you need a boat.

    The people who look at AngularJS are say “this sucks” or “this is way too complicated compared to jQuery” are most likely people trying to use a boat to cross a pond. For sure, they’d be better off sticking with an easier method, but taking that a step further and saying “nobody ever needs to do anything but swim” is a mistake.

    • Keith

      I agree with this. Although I can understand why many people think AngularJS will die as the author mentions. Many tutorials that exist teach us how to do the simplest of tasks that would take jQuery a couple lines to do. Maintaining a large scale jQuery application is a nightmare, but I’ve found that maintaining AngularJS applications is much easier (when structured right).

      jQuery was built for handle simple one-offs that would otherwise be difficult to do (and support a wide number of browsers) in plain JavaScript.

      As others have mentioned, those who write large-scale javascript applications, they will use frameworks like ember, backbone, and angular. Those who only need small dom manipulations will use jQuery.

  • Guest

    ah, your inflammatory original post got you some views so you’re at it again? Next post “Angular is stupid and so are you for choosing it”

    Angular is dominating the framework landscape in JS land. It also shares key patterns with future web/JS tech. It’s not going anywhere. Not sure why you had such a hard time learning it, either, as I was on a team of twenty that picked it up in a week for a large project.

  • http://antjanus.com/ Antonin Januska

    I get what you’re saying but you’re comparing apples and oranges. Really.

    jQuery is a great wrapper for dom manipulation and is a wonderful for enriching our sites. From slideshows to form validation and all kinds of stuff. It’s great for that. It’s easier than Javascript because you don’t have to understand javascript to work jQuery.

    But AngularJS is a whole other mix. There IS complexity in using AngularJS just like there is complexity in using PHP frameworks, Ruby on Rails etc. Where you have to deal with dependency injections, routing, scope, etc. All of it already present in most other frameworks for the back-end. Angular just brings this extensibility to the front.

    • Daniel Selinger

      Second that. Angular serves a whole other purpose than jQuery. A subset of jQ is actually included (http://docs.angularjs.org/api/ng/function/angular.element). And the docs are not that bad..

      • http://antjanus.com/ Antonin Januska

        Well, I can’t agree with it. The docs are…well, they’re docs. They’re good reference documentation. I would love to see more tutorial-driven docs so that someone can learn AngularJS from scratch.

    • Marvin R.

      totally agree. AngularJS is a MVC and a whole framework. jQuery is one part in such a MVC. The better comparison would be comparing Backbone.js + jQuery + ??? with AngularJS. So do not listen to this blog post. Better do your own research and google for backbone.js vs. AngularJS vs. ember.js vs. XYZ ;) jQuery!=AngularJS

      • vandigroup

        +1 for jQuery!=AngularJS

  • Renso

    You are comparing apples and oranges!

  • GonchuB

    The problem here is that you are comparing two things that server different purposes. jQuery is like a toolbelt, allowing developers to do things in an intuitive (now that it has matured and has become sort of a standard) way, whereas Angular was thought of like an MVC framework for js. You should compare it against Ember or others attempting the same thing.

    Yes, Angular is new and is kind of poorly documented, but when you pass the starting point (for some that is harder) you get to understand how good it is, and problems it solves.

    Also, I disagree about the bad community. Check the AngularJS tag on stackoverflow and tell me if it is frozen…

    To the author: have you built a 50+ pages Web app solely with jQuery?

  • http://asko.io/ Asko

    1 decade = 10 years, a couple is 2 and therefore you’re saying that jQuery has been around for almost 20 years. Considering the initial release was in 2006, you’re math is horribly wrong.

  • Benjamin Goldberg

    Writing a web app with AngularJS was the first time I’ve ever felt that web development was fun or natural. AngularJS strongly embraces good design patterns and encourages reusable, organized, and well designed modules. My feeling is that new developers from outside the web development community might find AngularJS more familiar than those who have grown up professionally in web development. My two cents, though. I think its great to have so many options these days.

    • khalidmbajwa

      Nailed it. Fun is the key word here. Angular is just so much fun. JOY !

  • khalidmbajwa

    Oh you have it completely wrong. For years i tried to get into jQuery and Javascript and i failed. Coming from the world of flash and flex, it was just too messy. Too much code for too little. It scared me, and yet i tried, again and again, and i just couldn’t wrap my head around how dirty the code got. And above all, it gave me no joy. Programmers love a language/framework which gives them joy, which makes them go ‘Wow, this was so clean and pretty’. jQery gave me none of that. Then along came angular and Holy Wow. Within hours i had built a complete e-commerce app,within a week, a music app with 80% features of groove-shark. Now here was ease, now here was joy. If you make the effort, just spend a few days learning angular, and its admittedly scary way of doing things, just by the virtue of being so different than anything else, i promise you, you too will have joy, and you will realize, there is NO other way to code javascript than Angular. Angular is IT. Angular is joy !

  • nbevans

    Somebody doesn’t understand dependency injection and is blaming the world for his IQ problem. It’s a common theme in the JavaScript ecosystem. It’s full of developers who don’t have a sodding clue about software engineering, design or anything. Hackers and hacking is all they are able to do. So when faced with a framework like AngularJS they freak out and retreat back to what they know; which frankly isn’t very much at all.

  • Ben Newton

    I have to disagree with this. Perhaps you need to go back and dive into angular a little deeper. I have built my last few projects in angular with no dependency on jquery except for 3rd party dependencies and they have been the cleanest, easiest to understand projects I have done in a while.

    As others have said, you are comparing apples and oranges. Do a job search for Angular.js and you will see how many companies are quickly changing to it as a preferred platform. It’s here to stay, or until the next great library comes along.

  • http://jcubic.pl/ Jakub Jankiewicz

    AngularJS is as hard to learn as other JS Framework like Ember or Backbone (I even think that backbone is harder), so you think they will all fail? There is no alternative. And also those are framework and jQuery is just a library.

  • Sven

    This graph tells the story about learning angular pretty well

  • smsohan
  • http://cheynewallace.com CheyneW

    jQuery is better than Angular for web app development? I had to read that twice to be sure.
    You didn’t even explain why you think so, just that it’s too hard for you. Which means you never completely understood the framework and how to use it properly.
    You must be working on toy sized web applications because you clearly haven’t hit that brick wall DOM spaghetti hell that happens with a large application based on jQuery. I have many times, and it’s nasty.
    JonRimmers analogy was spot on. Angular is the heavy lifter framework, jQuery is a tool. You use the right tool for the job and after your web app grows to a certain scale, jQuery is not the right tool.
    If you had suggested Ember, Backbone or something in the same ball park over Angular I think i would of taken this post more seriously.