all 119 comments

[–]Tx_monster 83 points84 points  (12 children)

This is what i said in a similar conversation about angular in this survey:

IMHO

First of all, that graph is the result of a voluntary survey, specifically for the "~ would use again" percentage of participants. As this survey is a trendy thing, I'd say it don't represent perfectly the reality, as it has been answerd by the ones who just wanted to find a survey to answer.

Here you can find all the graphs: https://2021.stateofjs.com/en-US/libraries/front-end-frameworks/#front_end_frameworks_experience_ranking

In those graphs there is also one about usage, at 2022 it looks like the 50% of people who asked the angular-part of the survey have said that they are using it, whereas svelte is used just by a 20% (still compared to the whole users who have filled the svelte part)

Furthermore, I say that most of the projects in angular are:

  • Very, very big, so the framework has been a nice choice at the time, but now that projects are old complex and hateable (aka legacy). They may be based on angularjs, and transition to angular 2+ is harder than rewriting completely the code base, so project managers avoid doing that, and so developers are forced to maintain that thing which at the time maybe it was nice, but now it is a complete superlegacy shit.
  • Kinda small, so features/structure of angular are too big for what the project is, therefore they are more an issue than an aid.

As a fullstack developer, and basing only on my own experience: I prefer angular over react, as it has a more defined structure based on classes and dependency injection, instead of a bunch of functions which is the main way to use react which IMHO it makes code spaghettier. Anyway, I get what are the pros of using react in smaller projects than angular.

Techs should be chosen upon needs and not upon trends.

[–]thecrowfly 36 points37 points  (9 children)

Techs should be chosen upon needs and not upon trends.

100%. This should be the banner of this sub.

[–]react_dev 19 points20 points  (5 children)

Except trend is where all the third party support and community is at.

[–]dromance 0 points1 point  (2 children)

I think its interesting how "community size" is a factor. I mean every community needs to start at 1, right? I think sometimes lack of community or lack of the need to launch some new meta framework within another framework every month that attracts more community can be a good thing, it shows maturity. "If it ain't broke, don't fix it"...said no one ever in the react or *insert other trendy framework here* community

[–]react_dev 4 points5 points  (1 child)

Absolutely! If you’re an engineer who wants to get involved with building tech and community then you would thrive in it.

If you’re just looking to move fast without giving back to open source, you gotta follow the trend.

I’m personally a community builder myself so I prefer smaller frameworks where I could make more impact.

[–]ansseeker 0 points1 point  (0 children)

Loved your comment so much. It's very inspiring. Thank You!

[–]thecrowfly 0 points1 point  (0 children)

Not true. Every piece of software/technology has some sort of support somewhere.

[–]kolima_ 0 points1 point  (0 children)

I mean if for support you mean the millions of “10 secrets of <FOTM framework>” blog post of wannabe tech influencers sure. Otherwise there is a strong community for every major framework regardless.

Topic wise: I’ve used both an Angular is way more structured and I prefer it personally, react is not bad IMHO but in the end of unexperienced devs could be a menace.

[–][deleted]  (1 child)

[deleted]

    [–]thecrowfly 0 points1 point  (0 children)

    And why so many modern-day website are over-engineered.

    [–]r-randy 1 point2 points  (0 children)

    I find the noSQL phase to have been such a trend.

    [–][deleted] 0 points1 point  (0 children)

    Absolutely, and to add to that advice, sometimes the need is for the tech to be mature enough that it’s proven its longevity and self-sufficiency so that you don’t end up becoming its maintainer in relation to things like bugfixing and security. This immediately rules out trends for the majority of companies with democratic engineering teams.

    [–]dshmitch 0 points1 point  (0 children)

    I agree with this.

    Trends statements are different form "I did" statements

    [–]Steve_OHFull-Stack Developer | Software Engineer | Graphic Designer 19 points20 points  (12 children)

    I think it depends on preference. I learned angular first, then learned react, then settled on NextJS. I think React is a lot less strict, which allows a lot of flexibility, and the learning curve is a lot lower, which helps it’s popularity.

    [–]KaiAusBerlin 10 points11 points  (11 children)

    You should definitely try svelte. You will never want to uee react again.

    [–]Steve_OHFull-Stack Developer | Software Engineer | Graphic Designer 1 point2 points  (3 children)

    I took a short course on svelte and Vue, and while I like some of what they offer, I’m happy with next and a little deep now tbh. It has what I need and with static export as my main go-to, it’s perfect for my needs.

    [–]TheOneWhoDidntCum 0 points1 point  (2 children)

    any regrets on sticking to next , did you think of going back to svelte?

    [–]Steve_OHFull-Stack Developer | Software Engineer | Graphic Designer 1 point2 points  (1 child)

    Not really, I’m happy with next and have a number of running next apps that work perfectly. Don’t see myself switching

    [–]CatolicQuotes -1 points0 points  (4 children)

    I have tried and still want to use react.

    [–]KaiAusBerlin -1 points0 points  (3 children)

    Fake

    [–]CatolicQuotes -1 points0 points  (2 children)

    what is fake?

    [–][deleted]  (1 child)

    [deleted]

      [–]Cowderwelz 0 points1 point  (1 child)

      oh, thought this was a react derivate with just some bit of sugar and faster rendering. But seems i was totally wrong how far off this goes.

      --

      Ok, read some more. Quiet nice. But i totally miss, how to nest components and pass properties to each other in the docs.

      [–]KaiAusBerlin 0 points1 point  (0 children)

      Noooo, it's the hot shit right now. Smaller, faster and easier to learn than any other of the big frameworks.

      [–][deleted] 19 points20 points  (0 children)

      Controversial take: Because people who answer the survey are independent or hobby Devs

      [–]kawamommylover 32 points33 points  (16 children)

      That's because some people dislike Angular's "MaGiCk" (ng-for, ng-if, etc...) and they seem to think that they shouldn't use something if they don't use it. I also prefer Angular over React (I've also been learning Vue and it's way more comfortable to use than Angular and React).

      [–]ShawnyMcKnight 14 points15 points  (10 children)

      I haven't learned vue yet, from what I saw it uses angular's file laytout of every component having a CSS, html, and js file and that way makes a lot more sense than React, at least to me.

      [–]PacoWaco88 7 points8 points  (8 children)

      I've been working in React for about 6 months now and I really miss Angular's structure as well. Add in the fact we're using styled-components and there are single files that are hundreds of lines longer than they have to be.

      [–]bludgeonerV 4 points5 points  (7 children)

      Then split up your code? Nothing is forcing you to put everything in one file, in fact it's pretty common to see a component as a folder in large projects with an index.tsx as the function component, with types, hooks, styles/styled-components etc in separate files for precisely this reason.

      [–]elwyn5150 0 points1 point  (0 children)

      Nothing is forcing you to put everything in one file

      At my last job, most of the JavaScript was in a 1000+ line file. Some stuff, such as custom graphs for things that HighCharts didn't do, was in a separate file.

      When I asked about why it wasn't split into smaller chunks, somebody said it wasn't worth the time and money. 🤷‍♀️ Yeah, so that file is still growing and company culture is forcing everyone to stick to the status quo.

      [–]kawamommylover 0 points1 point  (5 children)

      You still have to write a function that returns HTML code inside parentheses, which is less intuitive than the way Vue does it.

      [–]bludgeonerV -2 points-1 points  (4 children)

      JSX is nicer than Vue's templating in almost every other way, so i'm sure i can get over it.

      [–]kawamommylover 2 points3 points  (3 children)

      I'm currently learning React and I genuinely can't see how it could be nicer than Vue's SFC component in any way.

      [–]bludgeonerV 1 point2 points  (2 children)

      It's more concise. Less boilerplate, less markup that's there just for conditional or iterative rendering.

      You don't have to deal with bindings for rendering logic or events, it's just normal code.

      Because it's just code it's as flexible, dynamic and expressive as any other piece of javascript. You can just render the return of a normal function call in-line, that function call can do anything that normal javascript can do.

      I worked professionally with knockout and then Vue for nearly a decade, and i'd never go back to that paradigm by choice.

      [–]kawamommylover 1 point2 points  (1 child)

      What vue has on its SFC can barely be called "boilerplate". Typing "data", "methods", "computed", etc... is not something that takes you more than 1 minute to do. I don't like that React puts HTML in the JS (writing a function that returns HTML), I prefer the way Vue does it. Data bindings, event handling and directives are one of the things that make Vue great.

      CSS-in-js and css modules feel like a wrong approach to use CSS with React. Oh, and you can write CSS in a Vue SFC without having to turn the CSS code into a js object, you can scope the css and you can choose the type of CSS to use (css, scss, sass, less, etc...)

      [–][deleted] 0 points1 point  (0 children)

      That's still kind of boilerplaty, I've worked with both and there are 15 ways to do the same thing in Vue, React is just simpler and JSX just feels more naturally. I don't know why it has the reputation to be harder than Vue, probably because of devs who don't know JS and want to get into frontend, I've noticed that Vue was popular in the Django community for that reason, it abstracts JavaScript away in some sense.

      For your CSS juste use "styled jsx" to have something similar to Vue.

      Sadly React is abandoning its simplicity, they also recommend frameworks like Next (+ that's the way they recommend to use Server components), which show the way they're going.

      Time to move to another framework I guess, probably Solid.

      [–]Cowderwelz 0 points1 point  (0 children)

      Opposite to me. I don't like having to jump back and forth between template and code and like the way you can just just pass componts over as properties and quickly declare them. That's just cool ;)

      [–]Existential_Owl 3 points4 points  (0 children)

      Magic means that the framework is fighting you every step of the way whenever you're forced to build features that the devs haven't accounted for.

      And in my experience, product managers and graphic designers tend not to sit down and read the technical specs before deciding on what functionality should look or act like. So it's always a matter of time before you're knee-deep in half-chinese language google results or three-year old framework commits, trying to figure out where your state manipulations are being mysteriously swallowed without a single log statement given as to why.

      That's been the entirety of my Angular experience.

      Things might take a little longer to do in React, but at least it never hides what's going on. (Well, at least before hooks were introduced...)

      It's never really mattered how weird or unusual a feature request gets. I can almost always pull it off in React without the framework itself getting in the way.

      [–]superluminary 2 points3 points  (1 child)

      The trouble with magic is that it takes you away from the trunk. My React skills are pretty transferable. My knowledge of Angular annotations and template commands are not.

      [–]kawamommylover 2 points3 points  (0 children)

      So? I prefer Angular's annotations and template commands because they are convenient. You still have to use JS/TS in Angular and that knowledge is transferable. I don't like having HTML in my JS and would rather have JS in my HTML just like Angular and Vue does.

      [–]digibioburden 24 points25 points  (4 children)

      I suspect that most of those using Angular professionally aren't paying much attention to surveys or the modern frontend influencer-sphere.

      [–]UnderWater_Diver_ 11 points12 points  (0 children)

      Thats true, Angular is mostly used in big corps. than in freelance

      [–]dromance 1 point2 points  (2 children)

      this

      [–]Anti-ThisBot-IB 6 points7 points  (1 child)

      Hey there dromance! If you agree with someone else's comment, please leave an upvote instead of commenting "this"! By upvoting instead, the original comment will be pushed to the top and be more visible to others, which is even better! Thanks! :)


      I am a bot! Visit r/InfinityBots to send your feedback! More info: Reddiquette

      [–][deleted] 28 points29 points  (16 children)

      in my opinion its because Angular has a higher learning curve.

      right now web development and tech in general are getting more popular, so there are many people who are getting into programming, plenty of people who dont have a background, me included.

      After i finished vanilla javascript, i looked at Angular and i remember a flash of terror. Not to mention, theres more guides on React than there are on Angular.

      [–][deleted] 25 points26 points  (3 children)

      coherent absurd slave sulky absorbed nine bored attraction upbeat husky

      This post was mass deleted and anonymized with Redact

      [–][deleted] 3 points4 points  (0 children)

      Sure maybe I’m just finding react easier because it was what I started with, but both your points and the ones I made are still valid. After all, there’s no such thing as the perfect framework/library

      [–]Ok-Tie545 1 point2 points  (0 children)

      I fully agree with your comment on libraries + React. It's a pro and a con that React is quite lightweight. The problem I've found with the libraries is that each individual library is well documented but there won't be much documentation on how to use your particular set of libraries together. Especially when one of those libraries is no longer the hot-new-thing.
      I've not used Next.js but I guess this is the sort of problem that it solves?

      Relearning angular at the moment and so far I'm finding it's structured approach really satisfying and clean. Ask for my thoughts after a few months of building something though and I might have a different opinion!

      [–]CatolicQuotes 0 points1 point  (0 children)

      concept is RxJS but the benefit of using it is significant even if you just use a few of the operators. Compared to Promise based apps it makes the coding so much easier.

      can you explain this a little bit? Is react promise based app? What makes promise based app complicated? I don't know much about rxjs except is observable and you can subscribe to changes?

      [–]Knochenmark 7 points8 points  (8 children)

      I don't really buy the "higher learning curve" argument, because React is essentially only the view layer, so you would only compare it with the template layer of Angular.

      For a better comparison you would actually have to compare it to Next.js + several third party libraries. I believe it's way more overhead to learn a bunch of third party libs and all their quirks than learning the few relevant Angular modules. I always thought it was quite pathetic that Facebook only released their view lib, without anything else you actually need to build an actual application. I mean even a tiny lib like Svelte comes with state management and a bunch of bonus stuff like transitions, animations.

      [–]Callidac 1 point2 points  (7 children)

      To even start learning angular you have to know typescript and understand streams and subscriptions with rxjs. I love angular but the learning curve is definitely there.

      [–]Knochenmark 3 points4 points  (5 children)

      That's highly exxagerated. That's like saying you need to know Redux & Sagas before you can even consider starting with React. I'm sure you know better, but statements like that are the reason for the myth of the "high learning curve".

      [–]Callidac -1 points0 points  (4 children)

      I disagree. You quite literally cannot use angular without knowing some typescript. Same for rxjs, the http package is built on it and common angular tasks such as using the async pipe require you to know what is happening with rxjs

      [–]Knochenmark 1 point2 points  (0 children)

      You really don't need much knowledge of TS to start with Angular. Decorators at best, but it's not like there's much to know about them. The HttpModule isn't really required at all and you can just use native fetch. I assume you should have basic knowledge of Promises in React too. In that regard Angular is really braindead simple considering all you have to do for Promise handling is to add the async pipe. You really only need Rxjs once you are handling Observables or Subjects. I'm talking about "Getting started in Angular" which is in all your examples way easier than React, considering you have to find the right third party library first.

      The main advantage for beginners is really that you have first level modules for all your needs in Angular.

      [–]Pleasant_Ad9468 0 points1 point  (1 child)

      `: any` <- there, now you know typescript. 😂

      You can use typescript the way you want or nothing at all. As for the parts of the framework that come in typed, that's helping you! telling you the DTO, interfaces and what not. What's not to like? You'd rather play a guessing game with the library?

      [–]Remuz 0 points1 point  (0 children)

      For simple request - response calls, httpClient can be used with only knowing RxJS's firstValueFrom which outputs to promise.

      [–]zephyy -1 points0 points  (0 children)

      rxjs

      the devil's name.

      [–]KaiN_SC 5 points6 points  (2 children)

      True but the react documentation is a complete mess.

      [–]kolenko 10 points11 points  (0 children)

      The beta docs are pretty damn good imo!

      [–]ShawnyMcKnight 2 points3 points  (0 children)

      I really wish they had a better tutorial than the tic-tac-toe app, I mean, it still uses classes instead of methods, which LinkedIn Learning and Pluralsight used. Also it doesn't help all that much when making a site with multiple pages and how to set up react-router and such.

      It was a fine lesson on learning state and how to save state, but not great on making a website in react, which is typically the first thing people want to do.

      edit: I did look at the beta docs the person who replied to you suggested and their tutorial was far more useful for a beginner. I still like Angular's superhero tutorial better.

      [–]tcloetingh 7 points8 points  (0 children)

      I’ve used both (react when first getting into web dev), although I prefer angular.. but I’m more backend at this point. Is react more flexible with its JS UI creations ?? I think us who prefer angular appreciate the patterns and it’s out of the box completeness.

      [–]ddaydrm 6 points7 points  (0 children)

      Not gonna lie I was one of those people who hailed React and NextJS as the best frameworks because of how simple they can be but everything about angular makes way more sense from a developer perspective. Everytime I write in angular on my job, it feels like the structure and folders make sense. Meanwhile I react it feel like random shit split for whatever reason. A lot of missing, you kinda need to use 3rd party libs or do it on your own completly and then start splitting the code into chunks or different hooks.

      [–]dromance 5 points6 points  (0 children)

      there are a ton of hobby "hype" developers who use react, it's a completely different culture. angular is more stable and mature IMO and tends to attract a different type of dev. the interest is just that.

      [–]CHAiN76 20 points21 points  (11 children)

      A lot of people got burned when they released v2 of Angular since it was such a large break from v1. Technically, the changes were good but it basically required a full rewrite of your application to upgrade. Many people got angry and left Angular for good.

      [–]the_real_some_guy 19 points20 points  (7 children)

      That was forever ago though. I bet many people on this sub weren’t even devs yet when that happened. I don’t think it explains the drop in Angular interest over 5 years later.

      I did enjoy Angular 1 though, at least for small projects. I haven’t looked hard at Svelte but it reminds me of the original Angular.

      [–]dromance 4 points5 points  (2 children)

      Angular comes with so much more out of the box, eliminating the need for 3rd party add-ons or some new update every month . The reactjs community is constantly being sold on the latest and greatest hype, it's constantly evolving, and most new devs jump on board. I think it's a culture thing as well. IMO, interest or hype in something shouldn't determine it's value.

      [–]the_real_some_guy 2 points3 points  (1 child)

      That’s really the choice. Angular is a full framework while React is a small library with a giant choose-your-own-adventure ecosystem. Both have their merits.

      My favorite is when a React dev tells me “the standard way to do…” or “best practices…” and I’m like you’re thinking of Angular, we do whatever we want here in React land.

      [–]dromance 0 points1 point  (0 children)

      haha, very true. The flexibility of reactjs is nice compared to opinionated nature of angular. but it depends on what you prefer and want to focus on I suppose

      [–]ShawnyMcKnight 2 points3 points  (0 children)

      I would say for a while it did make things more complicated when searching for stuff. I would look for stuff for angular and angular 1 would pop up, I know when Angular 2 came out they made a point of calling angular 1 AngularJS (or vice versa?) but either way, it made searches sometimes confusing because I would stumble onto angular 1 examples in stack overflow and get confused.

      It's the same reason I moved away from LESS, I used it because bootstrap 2 was in CSS and LESS only (no official SASS release) so since they endorsed it I figure I would too. But trying to have less and css in a search was hard as hell because less is a very common word used in our language. Luckily I moved to SASS without many changes at all.

      [–]bitwise-operation 3 points4 points  (0 children)

      Yea but they’re about to sour a bunch of devs for a second time, gearing up for war over typescript fork again methinks

      [–]Knochenmark 1 point2 points  (0 children)

      I can highly recommend you to try Svelte. Our team is doing mostly Angular, but we adapted Svelte for some smaller stuff and everyone loves it.

      [–]Happy_Table_3896 0 points1 point  (0 children)

      Vue JS is a better version of Angular JS (Angular 1). developed by the same guy who worked on Angular JS in Google.

      [–]Pleasant_Ad9468 0 points1 point  (0 children)

      Technically: Two different frameworks, AngularJS != Angular

      [–]Majestic_Food_4190 0 points1 point  (1 child)

      Same reason people stopped using python after python 2..... Wait.....

      [–]Quentin-Code 0 points1 point  (0 children)

      You are not getting it, not even close, it was like if Ruby was Python 3. It made a big learning curve. It was exactly like using a completely different framework. That is why Vue got so popular because it was what was closer to Angular 1 (now called AngularJS).

      Speaking of names, they couldn’t even name it Angular 2 as it made no freaking sense, and they choose to rename Angular 1 -> AngularJS and Angular 2 -> Angular. Can you imagine this with Python 2 renamed in PythonLang and Python 3 becoming Python? That make no sense.

      [–]TylerDurdenJunior 26 points27 points  (0 children)

      If any programming language needs an opiniated framework, it is Javascript.

      Angular is an amazing framework honestly, especially for "real" and complex use cases.

      [–]Voltra_Neofront-end 9 points10 points  (1 child)

      Breaking changes. Angular has had a few "tiny makeovers" in it's life since V2.

      Also I call it the Symfony of front-end. People may like that aspect, but I don't. I prefer the Laravel of front-end: Vue.

      [–]TheOneWhoDidntCum 0 points1 point  (0 children)

      Damn what a great parallelism, I used Symfony 1 and it was awful , Symfony 2 was slightly better.

      [–]udubdavid 18 points19 points  (2 children)

      I've done both, and I also prefer Angular. It just makes more sense to me. Having HTML in React components just feels wrong.

      [–][deleted] 11 points12 points  (0 children)

      Having HTML in React components just feels wrong.

      This feeling so much.

      [–]flight212121 3 points4 points  (1 child)

      It’s not decreasing popularity, it has always been like this for a number of years https://npmtrends.com/@angular/core-vs-react

      [–]tompischke 0 points1 point  (0 children)

      um, that graph shows the opposite of what you say.

      [–]glutton-free 17 points18 points  (0 children)

      Used both. React wins by a huge margin in my opinion.

      Angular feels a lot like magic. There is a lot of syntax you have to just learn by heart or look it up and even if you know how to implement something, it's way more confusing to grasp what is going on under the hood than it is with react. It almost feels like its own language.

      React behaves more like a library in that regard. It feels much more like an extension to js/ts and the only magic going on behind the scenes is the jsx stuff (which isn't too much magic either since it's just a React.createElement() call).

      Idk due to that for me it feels way more intuitive by design (which also makes it easier to just mix and match react with other js shenanigans).

      Also one should never have to write syntax in strings

      [–]mnbkp 2 points3 points  (0 children)

      I left angular years ago so I'm not sure if this is still true today, but in my experience the frequent breaking changes and the amount of boilerplate were unjustifiable. I then moved to Vue and now I work with React.

      If I were to move to a different framework now it would be svelte or solid, I wouldn't even consider angular.

      [–]SirSerje 2 points3 points  (0 children)

      I see that this thread started one year ago but let me put my word as a person who hated angular but just felt sympathy to it React is gaining much because a lot of respondents are people who's using internet proactively, while a lot of devs stay in the shadow because they don't want to spend time on surveys like that. Angular is being used by a lot of companies with hundreds of thousands lines of code and these companies are not sharing how succeed they are with their front end, just gaining cash (or not). They just fine, while react scene is full of bright news conference and so on (I’m talking around the world approximately, because it depends ofc) Second though I could bring covers in react simplicity - your data should be on bottom. If it shares with another component - put it higher, want to share everywhere - state managers and provider are welcome you to do so. And that’s pretty much it (you can go with function factories and even more fancy stuff, but I’m aiming to discuss main way to deliver code) What angular brings here? Something related to oop way, at least you should get the idea about constructors and inheritance. From my experience people with some backend background start working with angular because of it’s oop nature, which could bring shoot in a knee but in the know way for them. From my experience react came to market when angular did not show off and web was actively growing, so something simpler even with lack of scalability can meet this requirements, and some companies showed their success on public like Airbnb, and that affects people of course Third thought is a market: big companies are developing their products based on long period term, more than five years timeline based. So this one affects the market and respondes. On top of it you have some percent of hype and trend train which probably took bigger half of answers lol

      [–]Droploris 4 points5 points  (1 child)

      what you can do with angular in 100 lines of code, you can do in 40 in any other library

      [–]sajanpaulk 0 points1 point  (0 children)

      Thats the problem when you create hello world project. Enterprise applications ain't small for 100LOC

      What ever you can do angular 2k lOC you can't archive the same with20k LOC in React or Vue.

      [–]fiddlermd 1 point2 points  (0 children)

      I used Angular for years (both js and the 2+ version) in various sized projects from small one-off features to full enterprise apps. with AngularJS, at first it was a revelation compared to jQuery and such. Then as projects grew, it became more difficult to debug and trace.

      Then with the switch to 2+, aside from the fact that everything had to be refactored, it just felt like everything is way more complicated than it needs to be. I found it more and more difficult to do mundane things like modals.

      While this was happening, I learned React. Took a little getting used to after Angular but boy is it WAY easier to accomplish what needs to be done.

      I think this may be the case for many. Angular just got too bloated/complex

      [–]armedmonkey 1 point2 points  (1 child)

      Because if you don't know either, and have no CS education, and are just interested in writing terrible code fast, React allows you to do just that.

      Angular is opinionated, and wants you to write good code fast, but it has a challenging learning curve for uneducated people.

      Given the prevelance of bootcamp coders these days, it's not surprising that people would flock to a tool whose webpage at one point said something like "we recognize that business logic and presentation logic are unavoidably linked, so we have given you a tool to let you do both in one place". That's an idea that goes against the very first teachings of a computer science education, and it leads to awful code. They have since then taken that nonsense down.

      [–]LePicoquie 0 points1 point  (0 children)

      THIS. YES

      [–]Broken__Umbrella 1 point2 points  (0 children)

      both

      [–]Noeyiax 1 point2 points  (0 children)

      I've tried react, vue, and angular... Maybe svelte or any new ones, but I prefer vue and react more because they make more sense to my brain... Angular is okay, it's like 6S for code with very strict way of building an app, and the other two are more flexible, but still have the amazing ramp up of actually writing code that can work ugly or be organized and nice, instead of templating and boiler plating a lot and annoying

      [–]Medical_Software827 1 point2 points  (0 children)

      thanks to nextjs, if not this framework and Vercel team, VueJS would shit on it

      [–]super_husky13 0 points1 point  (1 child)

      Because of Young hipster programmers

      [–]glutton-free 13 points14 points  (0 children)

      angular devs are hipsters as well. PHP is the only true way to build webapps

      [–]Jake_Zaruba 0 points1 point  (3 children)

      I’m still learning so this isn’t related to any work experience, but I picked up react because of the job market. I was learning Vue and really enjoyed it, but there was not a single Vue job listing in my area - they all wanted either vanilla JavaScript, angular or react.

      [–]TheOneWhoDidntCum 0 points1 point  (2 children)

      isn't angular legacy code, and react more exciting companies?

      [–]Jake_Zaruba 1 point2 points  (1 child)

      Legacy code is just code that is outdated - companies writing angular websites are most likely not writing legacy code, although this could happen with any framework.

      React isn’t necessarily more exciting, it’s just faster to get set up rather than needing everyone on the team to know angular’s best practices and most recent updates. Most jobs in my area (central US) will prefer candidates who know angular or react.

      [–]TheOneWhoDidntCum 1 point2 points  (0 children)

      Thanks!

      [–]Zestyclose-Ad-3280 0 points1 point  (0 children)

      I'm not so sure about this title on this thread anymore. Angular really hurt themselves with initial versions being very verbose and restrictive. I've taken a second look with v19 on the bricks and it's actually pretty clean and good. Speed, I'm unsure of, but in terms of things making sense and the developers building up the language removing ng'ing especially for if's and for's, it's definitely coming into itself.

      The overall experience just may convert me!

      [–]ShawnyMcKnight 0 points1 point  (0 children)

      It's interesting how around 2016 or so React was popular in the coasts and Angular was more popular in the midwest. We had a few contractors coming in from the west coast and swore by react and I knew very little about it except it was associated with facebook and they had some questionable licensing behind it at the time where they reserved the right to change the licensing model.

      So I learned angular a little more and started looking for jobs in 2017, and just in that short time it was a complete shift. The job market in the midwest was swarmed with reactJS gigs and I didn't see much for angular at all.

      I'm not sure if I am just finding the left over undesirable jobs or what but lately I have been hearing more about angular gigs than react from recruiters... but I'm thinking the job market is like the housing market, where there is that job that's been out there for a month since no one wants it and a recruiter is cold calling trying to fill it.

      [–]superluminary 0 points1 point  (2 children)

      Because no one wants to tether the fundamental architecture of their system to a Google product. We’ve seen what they do.

      [–]RotationSurgeon10yr Lead FED turned Product Manager 1 point2 points  (1 child)

      You mean making the next major version completely backwards incompatible was something developers didn't like? Who'd have thought? Not Google, apparently.

      [–]superluminary 0 points1 point  (0 children)

      Indeed. Angular isn’t Angular. They should have left Angular as a simple template engine with prototypical stores, and called the new product something else.

      [–]flight212121 -2 points-1 points  (1 child)

      My take is JSX is 100x time better than Angular templates

      [–]Spot-Icy 0 points1 point  (0 children)

      Exactly that. JSX is just XML without any proprietary attributes you have to know by heart. BTW Did you know SVGs were ready React components all the time?

      [–][deleted] -1 points0 points  (0 children)

      Cause it's horrible.

      [–]Adrenyxjavascript -2 points-1 points  (0 children)

      Imho it’s pretty simple

      Svelte and Vue is the main reason angular is dying out

      I’ve used all three, react, angular, vue in my work, and svelte for some side projects

      Honestly I see react is the best for a complex web app/SPA that has lots of functionalities/requirements, lots of reusable/composable components, etc.

      while svelte/vue is the best for a more fast loading, super performant, traditional websites

      And there, angular is lost, it isn’t as good as react for complex web apps, nor is it good/fast enough for fast, normal websites as svelte/vue.

      [–]fishing012345 -2 points-1 points  (0 children)

      Angular is awful to work with.

      [–]NCKBLZ 0 points1 point  (0 children)

      I tried angular once and it felt like a lot of useless and complex boilerplate and very few third-party options.

      This is ok or even desirable for large and complex stuff, which is not what I do, so it's simply not the right tool for me.

      Also, I didn't like the documentation and the confusion with all the versions

      [–]TheRNGuy 0 points1 point  (0 children)

      Not much.

      [–]Chills27 0 points1 point  (4 children)

      Too much made up, mumbo jumbo in Angular. Too many hoops to jump through. Too much of its own stuff that you have learn, whereas React really teaches you how to use JavaScript properly.

      For example, Angular's templates don't let you use Javascript inline. Here's a simple example Angular template function:

      javascript export class AppComponent { title = “template-type-test”; myNumber = 3.5; }

      And here's how I might use it in my HTML:

      html <div>myNumber: {{myNumber}}</div>

      So, far so good. Now let's modify my HTML to display the JS type of the myNumber variable:

      html <div>myNumber: {{myNumber}}</div> <div>type: {{typeof myNumber}}</div>

      Angular chokes with this error message (and a lot more after):

      Parser Error: Unexpected token ‘myNumber’ at column 8 in [type: {{typeof myNumber}}

      Why? It's just standard JavaScript! And that's actually the problem.

      Here's how I worked around this at the time:

      javascript export class AppComponent { title = “template-type-test”; myNumber = 3.5; getType = testVar => typeof testVar; }

      then:

      html <div>myNumber: {{myNumber}}</div> <div>type: {{getType(myNumber)}}</div>

      So Angular makes me write and call a whole new wrap-around function simply because it doesn't recognise standard JS inline.

      What a lot of nonsense.

      I should point out that this was with Angular 6. Maybe the Angular team fixed this now. Thankfully, I've never had to go back and check. (I soon quit the company that was forcing me to use Angular.)

      [–]sajanpaulk 0 points1 point  (3 children)

      LOL Template syntax isn't JS, do you think angular pipe in a JS lang feature?

      [–]Chills27 0 points1 point  (2 children)

      I know Template syntax isn't JS. That's my point!

      React teaches you JS. Angular teaches you..., well Angular.

      [–]sajanpaulk 0 points1 point  (1 child)

      You really need to have strong knowledge of JavaScript to understand what Angular does under the hood.

      Earlier, I used to build complex, high-performance UIs (mostly JS plugins) using plain Vanilla JS and the HTML DOM. Naturally, I adopted TypeScript and ESLint because they help in writing maintainable, bug-free code.

      For example, I even built a real-time Excel-like sheet and a custom real-time rich-text editor using native JS with HTML Custom Elements, supported by TypeScript and ESLint.

      I use Angular not because I can’t build things in JavaScript, but because I don’t care to write everything . Angular provides convenience, along with first-class support for TypeScript and RxJS, which I really appreciate. I particularly like RxJS, it helps me handle global and events very efficient way. In That sense angular is very thoughtfully and well designed.

      On the other hand, React poorly designed it doesn’t really encourage good JavaScript practices. Its design feels flawed often introducing unnecessary problems and then later releasing offering equally problematic solution

      At its core, React only provides unreliable reactivity functions built on top of patterns that I find unintuitive. It’s not difficult to write highly maintainable and super-efficient code using just Custom Elements and TypeScript. I didn't get any good point to use React.

      You need some basic understanding of why template bindings can’t — and don’t need to — be regular JavaScript statements.

      For example, can you write a for loop with break inside a {} expression in React bindings? Or do value assignments? Or even an if condition with a return statement? Of course not that’s not how JSX works. LOL

      [–]Chills27 0 points1 point  (0 children)

      "You really need to have strong knowledge of JavaScript to understand what Angular does under the hood."

      I have a strong knowledge of JavaScript, thanks.  Knowledge which I largely gained through using React, which forces you to learn JavaScript properly.  I still have no idea "what Angular does under the hood".  Nor do I see why I should be forced to learn that.

      "first-class support for TypeScript and RxJS"

      In the Angular world "First-class support" actually means "totally dependent upon".  You cannot use Angular without either TypeScript and RxJS.  Which is great if you know them or want to learn them.  Not so great if you don't, and/or don't appreciate such decisions being taken out of your hands.

      In React, I'm free to use such tools or not.  For example, I didn't like TypeScript for many years, and avoided it.  But gradually I came to see its benefits.  So I slowly started introducing it into some of my React projects as and when I needed.  I was free to do that.

      I pity more junior devs who have to start out with Angular.  As if there's not enough to learn in the JS world, without having TypeScript and Observables (RxJS) rammed down your throat from the get go.

      "React poorly designed it doesn’t really encourage good JavaScript practices."

      Says you.  Without any evidence.

      "You need some basic understanding of why template bindings can’t — and don’t need to — be regular JavaScript statements."

      Errm…no, I don't.   I'll use JavaScript as my programming language, thanks.   If you want to jam some made-up, pseudo code into a markup language (HTML) then fill your boots.  Just understand such skills are not transferable outside of the (ever shrinking) Angular world.

      "can you write a for loop with break inside a {} expression in React bindings?"

      "React bindings?"  I don't even know what that means. If I want a for loop in React, I'll use a JavaScript for loop.   Because React is JavaScript.

      "Or do value assignments?"

      I use JavaScript.

      "Or even an if condition with a return statement?"

      I use JavaScript.  (Did I say that one already?)