When it came out in its time it wasn't bad compared to the alternatives.
Now there is certainly better, but honestly it will still take a long time before we can choose a standard.
Yes, but for the web in particular, with the current obsolete technologies that were designed to create websites with a simple interface, it is like continually trying to keep an old man with 15 terminal illnesses alive.
Well, I have worked with two of them React and Angular. Now working with React. And the further the project goes, things just get messy, and I mean really messy. The concept of everything should be a small function is in practice not true. No dependency injection(I know you can bolt another library on top of it, but really?). The testing is a pain, it gets harder and harder to test isolated functions. Custom tags, attributes that look like the standards that are documented at MDN but are not. And most info I can find online feels like elaborate propaganda. I mean there is just nothing against React to be found, really nothing. That's just not possible in IT.
And most info I can find online feels like elaborate propaganda. I mean there is just nothing against React to be found, really nothing.
It's just Stockholm syndrome. Everybody that wants to criticize it is too traumatized to say anything, and everybody stuck with it makes a way to think it's great.
Add to that the fact that it is great in theory, so nobody without direct experience can criticize, and you get only positive reactions.
Angular is different from React, totally different. For one it's a framework. React is a library.
People tend to say Angular is harder to learn then React but I totally disagree with that. I personally found Angular really easy to learn, especially if you look at their documentation at https://angular.io/docs you just need to work through it, step by step.
This is not the same with React, again my personal experience.
In Angular you have common concepts like observables, subscriptions, dependency injection, separation of concern's, and not to forget functional programming with RxJS. And the documentation that you can find in MDN about html, css, javascript is then also complimentary to it.
Overal I found Angular to be a cleaner environment to develop in. And testing is so much more concise.
Anyhow, don't focus on one library/framework. I would even say learn the basics like what you can find on MDN, javascript, html, css, typescript. The rest is always framework/library specific. Let the job decide what you are going to learn first. You know programming, that's great you will learn the stuff they use on the job and in your free hours ;) In my experience you will have to change anyways. For example I have worked at companies, government and private. Where one uses JSP!!!(in 2022, not it was not a government organization) Then Angular, then React.
React is awesome. Sure it has problems but what doesn't? It's easy to learn and JSX is great. I would try Next.js, Remix.js or just use Vite. Personally I'm trying out CT3A but that's a bit on the edge (and uses Next). There are a lot of jobs with react out there and it's a joy to work with imo.
Vue is supposed to be easy but I had a hard time with the initial learning curve. The community seems much smaller too. I have heard good things about Nuxt though.
Angular is robust but the hardest of the bunch to learn based on popular sentiment i've heard.
Doesn't matter what an internet rando thinks, there are more React jobs at the moment. I've only seen Angular used by large enterprises for internal BI apps, which are harder jobs to get.
Honestly, easiest to learn is probably React. That + market share would make me learn that first. Newer frameworks tend to base what they do with ergonomics from React. Even my favorite (at the moment) frontend library, SolidJS, has all their tutorials with references to how you do things in React, and how similar signals work with Solid. Learning Vue, Svelte, all have the same issue; they compare themselves to React to show you how they do things with their library. And it makes sense, for better-or-worse.
I have tried some angular, threw up when I looked at JSX so skipped React and do a lot of Vue, Vue is by far the best of the 3. especially 3 with reusables and better TS support.
That was my experience until I tried Svelte. I loved Vue but didn't like the transition to Vue 3. When I tried Svelte it blew me away and I never looked back.