Settings

Theme

Why Angular Made Me Quit Web Dev

medium.com

43 points by setra 7 years ago · 25 comments

Reader

TheChaplain 7 years ago

I quite like Angular, it's a bit lite Django with batteries included. Very organized, TypeScript(!), reusable components, easy to write tests, create models, call Rest end-points for data, routing, make lazy loaded modules, scss and so on. Documentation is superb. It took me only a few days to learn and become productive.

I tried React but it felt very incomplete and to get things done beyond the basic tutorial I had to go all over blogs, articles and forums to find instructions (often incomplete or out-of-date). Still it required a complicated process to get data from a SpringBoot server (I was told I need to add Redux, then some other http library for the actual calls. Then try to tie everything together... well, I gave up.)

That was a year ago and I'm sure it's better now, but Angular at that time was very mature compared to the hackish React.

  • jordache 7 years ago

    i wonder how many react apps are out there with just state management via container components...

jt2190 7 years ago

Working with anything new can be a humbling, frustrating experience. In some sense, this is the job of programming. (Why would you write the same code over and over again?)

That said, I’d be interested in hearing what kind of “first-time encounter” experience the author is looking for, and whether he’s found it in another tool. Barring that, at least some more specifics on the troublesome areas, something like bug reports, e.g.

“I expected one thing, but I actually got another. Here’s why that’s bad.”

snapdaddy 7 years ago

As someone who has been doing web dev for a long time, I find it interesting that I can understand the author's points, but that I don't relate to them at all.

For example, I agree that the angularjs to 'angular' transition was a bit wonky, but I don't understand having resentment or anger build up because I have to be a little more careful about how I craft search queries.

It feels like he's frustrated with a lot of things, and once you get in that mindset, each irritant takes on huge significance.

You don't start doing web dev because you really want to work with Angular, and I think that's the problem. You choose Angular because you think it will help you achieve an end-goal.

I suspect that he started working on a codebase that had already chosen Angular and he had no buy-in. In that case, problems become frustrations, rather than just 'things to learn'. For example, the documentation on the module system is pretty good. It covers the reasoning, shows a basic example, and then delves in for when you need more information: https://angular.io/guide/ngmodules.

Anyway, I enjoy working with Angular, but if something else works better for him, more power to him.

monkeynotes 7 years ago

Anyone out there who has experience that maybe isn't so bad? I am just about to take a job where I'll be ramping up on Angular 7. I'll be coming from React which has its own problems and complaints, but it's more of a love-hate thing with React (and a good amount of the former). This article has absolutely nothing nice to say about Angular. What have I gotten myself into??

  • ahayter 7 years ago

    Got a new full-time gig working on an Angular 5 app about 3 months ago (they're behind in the upgrading to 6/7 for god knows why). Coming from working on an angularjs app for around 3 years.

    I'm unimpressed with essentially the entire framework. It feels over engineered and overly complex with little benefit. Note that I'm saying it feels that way, maybe at some kind of scale this is very helpful, the codebase I'm working in is about 150k sloc.

    The biggest gripe for me is how unintuitive it is to compose and reuse bits of UI. Having written almost no React, and absolutely no React professionally, I understand how to compose react components and the basic patterns for communicating between them. It's just not as easy in Angular, so for the most part it just doesn't happen (at least with the devs I'm working with). Patterns such as render props, HOC, stuff like that is not straight forward in Angular. I'm probably not thinking in the "Angular" way or something.

    The dependency injection patterns that Angular is so fond of is something I'm not enthralled with as well. It made more sense in angularjs since es2015 modules weren't prevalent at the time, it really solved a problem there. I don't think it's as helpful in Angular now, and is yet another framework specific thing you're going to have to grasp at a decently deep level.

    I work right next to another dev that was hired about a month before me. He's coming from writing React for the last couple of years, and angularjs was the first SPA framework he ever learned. He is constantly cursing how Angular does just about everything, he's not a happy camper.

    If I was calling the shots today I would not use Angular for my SPA framework.

    • jordache 7 years ago

      Are you using Redux for state management in react? You mentioned the "basic" patterns for communication between components. I assume you did not have complex state management requirements.

      The DI framework in Angular is not concept novel to Angular. It's essentially an implementation of the DI.

  • lsiunsuex 7 years ago

    I rather like Angular. We started our project on Angular 5, recently upgraded to Angular 6 and we're holding off on Angular 7 just because PrimeNG 7 isn't ready yet.

    (upgrading isn't why I like it)

    I agree that ng build --prod finds different errors then ng serve -o does but we build once a day and fix them when we find them, before deploying to QA. We've also learned pretty well when a bug in build might be caused (usually not declaring a property properly or wrong type or whatever)

    Actual development is pretty easy once you learn the concepts. Documentation, training, tutorials are good IMO also.

    The only complaints I have are PrimeNG (our CSS framework) has a LOT of bugs, is sometimes poorly documented and the built in components are often lacking; when they are, we extend them and add what functionality we need ourselves.

    I don't want to cause a React vs Angular thread - but compared to React and the 100s of ways to get a project built, I prefer to use Angular - here is the MVC and go type approach.

  • draluy 7 years ago

    I find it very bloated. I spend so much time waiting on the compiler and writing boilerplate code (as opposed to actual features), that I try to avoid it when I can.

    I really prefer Vue, because it gets out of my way when declaring services or making modules etc.

    • monkeynotes 7 years ago

      React + Redux is pretty famous for boilerplate, so I guess I can continue to look forward to feature friction.

  • korynunn 7 years ago

    Have used it for a bit over a year now. Hate it. Horrible for productivity, horrible to debug, horrible performance, horrible bundle sizes.

  • jbob2000 7 years ago

    Currently rewriting an app from AngularJS to Angular 7.

    Biggest pain point is doing stuff outside of the angular framework. Interacting with the browser’s History API is annoying, angular splits this functionality over a few disparate modules and it’s heavily suggested you do not call the raw APIs directly, but instead deal with the tangled mess angular provides.

    I had some pains when I first got started, but that was because I wasn’t doing it the “angular way”. If you find you’re writing too much code and it feels like “low-level” code, you’re probably doing it wrong. I spent a lot of time wrangling Observables and async pipes before I found patterns that were simple and met my needs.

jordache 7 years ago

the author's rant doesn't make him sound very intelligent. There isn't strength to any of his points, for anyone who has spent more than half-assed effort at trying to learn Angular.

  • draluy 7 years ago

    Can you elaborate on one? I think I'm part of the not very intelligent crowd that actively dislike angular due to the points raised in the article.

    • jordache 7 years ago

      The guy's ranting about Typescript with no strong arguments to back up his diatribe.

      He also described the experience of writing simple apps that resulted in very poor performance. From my experience, you'd have to really hard to re-create non performance scenarios. Especially if he is only creating simple use cases

      In summary he is ranting about fairly superficial points that does not cancel out the benefits angular framework provides for certain types of organizations, when compared to vue or react..

korynunn 7 years ago

I associate with this so much it hurts. I have wasted thousands of my employers dollars just waiting for this pile of shit to compile or run.

If you like light, fast, opinion free UI tools, maybe give my module fastn a go: https://GitHub.com/korynunn/fastn

  • jordache 7 years ago

    sarcasm at the end there? ditch a product that has a global community, built legit enterprise scale apps with, for a personal project found on github?

    • korynunn 7 years ago

      No this is my module that I've used to build enterprise apps with.

      I've used both for years, feel free to critique fastn when you've tried it for a week.

icedchai 7 years ago

So why not go back to regular web pages ("server side rendering") + jquery?

ssharp 7 years ago

Not the point of the article, but how exactly did the iPhone's utility flatline because they removed the headphone jack and how is a headphone jack a "vital" feature, considering the rise in popularity of blueetooth headphones and the fact that the iPhone ships with the 3.5mm dongle?

  • duckMuppet 7 years ago

    Mom: "What are you doing on your computer?"

    Child: "What's a computer...."

    Additionally, he must've missed the last 20+ years after Apple moved away from the ppc chip.

    Subsequent editions of os x after were always removing great tools, then rebranding and repackaging them to sell as a new feature. Up until you had to pay for the dev tools..

    The best has been iDevices though. Premium price through artificial resource scarcity.

    Ask that being said, the author and like the type who instead of looking for a better product, would look to govt and regulations for Apple, and the web dev sphere. In the name of fairness I'm sure.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection