Instantly share code, notes, and snippets.

Embed
What would you like to do?
Angular: Just Say No

Angular: Just say no

A collection of articles by AngularJS veterans, sometimes even core committers, that explain in detail what's wrong with Angular 1.x, how Angular 2 isn't the future, and why you should avoid the entire thing at all costs unless you want to spend the next few years in hell.

Reason for this: I'm getting tired of having to explain to everyone, chief of which all the indiscriminate Google Kool-Aid™ drinkers, why I have never believed in Angular, why I think it'll publicly fail pretty soon now (a couple years), and why it's a dead end IMO. This gist serves as a quick target I can point people to in order not to have to parrot / compile the core of the articles below everytime. Their compounded reading pretty much captures 99% of my view on the topic.

This page is accessible through http://bit.ly/angular-just-say-no and http://bit.ly/angularjustsayno, btw.

@shingara

This comment has been minimized.

shingara commented Jun 7, 2015

Same idea about all js framework or you advice some ?

@elemoine

This comment has been minimized.

elemoine commented Jun 15, 2015

Are you on the "React Is A Terrible Idea" side as well?

@gsans

This comment has been minimized.

gsans commented Nov 25, 2015

Guacamole with fries!

@dmackerman

This comment has been minimized.

dmackerman commented Dec 30, 2015

You must be real fun at parties.

@evanplaice

This comment has been minimized.

evanplaice commented Jan 28, 2016

@elemoine Neat article but web components are the standard that has been on the horizon for 2 years without consensus. Polymer tried to provide a useful polyfill for web components. Unlike most emerging standards, web components are fundamentally difficult and complex to polyfill. So, Polymer works but not very well.

@stephengardner

This comment has been minimized.

stephengardner commented Mar 9, 2016

Wondering what the recommended alternative would be. Not that I agree. I could use a good laugh if jquery were brought up.

@FranzSkuffka

This comment has been minimized.

FranzSkuffka commented Apr 5, 2016

@stephengardner vue.js is actually quite fun so far after I have spent a few days with it.

@brechtbilliet

This comment has been minimized.

brechtbilliet commented May 24, 2016

So, You do a 5 minute search on Google for negative reads on Angular.
Big trees catch a lot of wind, and for that reason you will find negative reads on every framework.

First of all, Angular1 and angular2 shouldn't be evaluated together., since they are completely different frameworks.
Secondly, I don't see one argument that is personally yours.

Maybe make some valid arguments before creating biased misguiding posts?

@ntrp

This comment has been minimized.

ntrp commented Sep 12, 2016

@stephengardner if you read some of the linked posts jQuery is brought up.. "Why using the over-complexity of angular when you con use jQuery". There is also someone talking about the fact that it's even better to use pure javascript.. Clearly people that have never worked on a complex application or have plenty of time to waste.

@xalisys

This comment has been minimized.

xalisys commented Sep 12, 2016

Totally agree with @ntrp point, if you are working with small applications jQuery makes sense, for mid-side applications Knockout & Angular 1.x makes your life much easier as compared to other frameworks......i recently worked on very large scale enterprise level web application, we started off with angular 1.x with JS as application grows bigger and bigger we face two problems 1) Maintaining source code changes update etc.; 2) Performance among different browsers. (Chrome was best, guess who was worst 😄 yes its IE).

So we decide to move the code to Angular2 (when its came to RC), although there was some glitches while running both versions of Angular sided by side and moving small pieces only-by-one; but after migration Angular2 solved both of our problems; maintainability with Typescript and performance with its excellent design & scope management and bunch of other features.......its such a delight working with Angular2. I would recommend everybody to use angular2 at least one of your projects and see how easy to manage your application.

@rezonant

This comment has been minimized.

rezonant commented Sep 20, 2016

After reading through most of these articles, I see only two complaints that I see as valid: Performance (mostly due to overuse of two way binding) and bad encapsulation (thanks to scope and root scope). These are indeed good reasons to avoid A1, but they do not apply to A2 at all. The rest of the argument seems to revolve around "it's too hard for me", "it's too hard for juniors" or "we've always done server side HTML gen, we always will do server side HTML gen, Angular doesn't fit well with that, and server side HTML gen is the "right" way to do it. Obviously this sort of argument is not specific to Angular, and from my point of view, it is a very wrong way to build web apps in this modern era.

@derek-fong

This comment has been minimized.

derek-fong commented Oct 27, 2016

Is this guy trying to treat Angular JS and Angular 2 as the same thing?

@fletchsod-developer

This comment has been minimized.

fletchsod-developer commented Feb 10, 2017

Oh please! Have you seen how much of the development time being wasted on bad Java Script to begin with, since 1990s? The framework is a step in the right direction and it is a matter of finding the right one. Thank God for TypeScript coming to our recuse with object orientation (ES6) when we're struggling with ES5 and over 500 buggy webpages to maintain. Now get to work.

@sjanaud

This comment has been minimized.

sjanaud commented Mar 29, 2017

Angular is overriding the web and the liberty. ng-sucks.

@ghost

This comment has been minimized.

ghost commented May 3, 2017

Have a look on InaxiumJS.
Suggestions for improvement and comments are always welcome.

@avidality

This comment has been minimized.

avidality commented Jun 8, 2017

javascript is javascript no matter what bloat you toss on top. Just learn to use it or invent some other lang that browsers will adopt

@petrkoutnysw

This comment has been minimized.

petrkoutnysw commented Jun 27, 2017

I'd recommend to check this: https://www.dotvvm.com/

@Shireilia

This comment has been minimized.

Shireilia commented Aug 9, 2017

@sjanaud "Angular is overriding the web and the liberty. ng-sucks." Lol'd i'd like to see you explain how Angular does that :D

@jorgebucaran

This comment has been minimized.

jorgebucaran commented Aug 15, 2017

@tdd Missing git.io link I just made for you. https://git.io/angularjustsayno 👋😉

@slmyers

This comment has been minimized.

slmyers commented Oct 9, 2017

why I have never believed in Angular, why I think it'll publicly fail pretty soon now (a couple years)

Are we there yet? :D

@LucasFrecia

This comment has been minimized.

LucasFrecia commented Oct 12, 2017

Reminds me of how some people saw the first model T as a horrible, backwards thing... and how others even thougt at that point humanity had peaked its technological prowess. I recommend you invest more of your time in productive ordeals instead of giving your and others oppinions as if they had any truth to it. In the end, all of this bits are just some devs' opinions.

@Giwayume

This comment has been minimized.

Giwayume commented Feb 22, 2018

If you want large componentized enterprise applications with data reactivity and sensible template languages, use Vue or Aurelia. Angular 2+ is a hot mess of over-engineered code with a lack of common sense in framework design. Many parts of the templating language and Javascript API of Angular 2 are overly complicated and the addition of newer features (like when they added "else" logic to *ngIf) feel like they are hacked together with little common sense. I have to ID all of my else blocks? Really?

@blackjyn

This comment has been minimized.

blackjyn commented Mar 1, 2018

I have leaved Angular since EOF 2014.
Angular 2+ is SUCK and overly complicated

@glemiere

This comment has been minimized.

glemiere commented Mar 31, 2018

Angular is not overly complicated at all. Angular is made to build huuuuuge apps. Don't use it to make a single page websites.

@ibraheemalkilanny

This comment has been minimized.

ibraheemalkilanny commented May 1, 2018

Angular is using Typescript. Once you get into that, you will see how much is it organized and layered.

BTW have you read ever some pages of Quran yourself? Try now http://quran.com/25

@oddz

This comment has been minimized.

oddz commented May 2, 2018

Angular is a very robust and powerful framework. Complex, perhaps but that is a matter of perspective. Everything is complex at first until you take the time to learn and understand it. Angular with the exception of immutability and Redux provides everything you need to build a modern, robust, and organized web app out of the box. Angular also provides implicit code quality, organization, and consistently between multiple developers. On-boarding devs familiar with Angular onto a new Angular project has much less of knowledge curve than other solutions which are less opinionated.

@omniscient

This comment has been minimized.

omniscient commented May 27, 2018

Coming from 10 years working on a complex templated/generic/metadata driven MVVM Silverlight UX, to then 5 years of DurandalJs / Aurelia and now Angular, I can say that after 20 hours into the forays of Angular, the engineers who built this framework come from a very different background than anything that has been developed at Microsoft in the last 10 years. The reason I do Angular now is because of it's popularity. It's the Kim Kardashian UX framework at this point. Decision to use it made at exec level in larger organization will be mostly based on this assumption: "Everybody, their grand-pops and their nieces uses it". That elevates Angular over some of the the other options because the belief is that resources are plentiful to work on Angular 2+... That might be true to a degree, not even sure of that because of the fragmentation between angularjs and angular. The reality for me is that it's one of the worst option available right now in terms of usability, design and approach. The lock in is crazy vs. some of the other options that are more convention based and more decoupled. Do yourself a favor and evaluate frameworks for several weeks before choosing one.

@Seedarchangel

This comment has been minimized.

Seedarchangel commented Jun 9, 2018

Totally agree, after hours of frustration.

@reedjones

This comment has been minimized.

reedjones commented Jul 29, 2018

yup

@codemt

This comment has been minimized.

codemt commented Aug 9, 2018

Totally agree, I have spent hours just solving problems in it, and ended up being frustrated due to its restrictions. I will never prefer Angular for my Personal projects. I seriously wonder why it has been so popular.

@kimonoki

This comment has been minimized.

kimonoki commented Sep 25, 2018

nevertheless jd has it

@lemonbob

This comment has been minimized.

lemonbob commented Sep 28, 2018

The reason for the popularity of these frameworks is because:

i) computers are now so fast that cumbersome frameworks don't affect performance too severely (a user wouldn't notice 1ms lag compared to 50ms lag even though the second is 50 times worse than the first).
ii) employers would rather pay 1/2 the wage for a bad programmer who can only output average results using a framework because most clients want cheap prices rather than good results.

To make an analogy, if this was the carpentry profession, Angular would be like the knockdown fittings that allow furniture to be screwed together quickly (i.e. flatpack).

Now, we all complain about the quality of flatpack furniture, but as long as it is far cheaper than quality carpentry that is what is going to predominate the market.

Also, keeping with the analogy, a quality cut joint such as a dovetail or a well cut mortise-and-tenon is far superior than a knockdown fitting, but a poorly cut mortise-and-tenon made by a bad carpenter is far worse than a cheap knockdown fitting. So yes, bad javascript is worse than Angular — but isn't that just enabling people who are bad at Javascript?

I would argue that frameworks have enabled bad programmers to flourish, driven down wages, driven down knowledge and training in the industry, and have resulted in a predominance of poor quality "flatpack" clone websites — don't even get me started on Bootstrap! This is why opinion are quite crystalized on the subject — either super for or super against frameworks.

However, just as in carpentry, I agree that sometimes the cheap fittings can be a great time-saving tool, but we should never view frameworks as anything other than a cheap time-saving tool that produces inferior (sometimes really inferior, albeit more cost effective) solutions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment