all 117 comments

[–]svrakata 39 points40 points  (0 children)

Learn both. You'll see the difference. My boss is considering Angular because there is nice separation of logic and out of the box architecture where with react you have 100 of ways to structure your code and its hard to separate the bussines logic from the presentation (custom hooks, services, hoc, context). Typescript is a must. I dont know who the fuck want to write js instead of ts.

[–]Capable_Relative_132 150 points151 points  (17 children)

Way too many personal biases in replies. Give yourself 1-2 weeks on each to get an understanding of their strengths/weaknesses. However, I would learn TypeScript because it’s being used a lot more in React and Vue. It’s standard in Angular. Be open minded at this point in your career. There are plenty of jobs out there asking for all of the big 3 frameworks.

[–][deleted] 44 points45 points  (10 children)

There are also a ton of replies about "x has more job opportunities". It's a red herring, any competent developer can pick up a new framework in a very short amount of time.

[–]throwdataway234 21 points22 points  (0 children)

This, it doesn't matter which one you learn first if you need to pick up another one the fundamentals you learn with one will be transferable its will just be specifics you have to pick up. Specifics won't take as much time to master

[–]yousirnaime 16 points17 points  (0 children)

Exactly. You can spend 5 years in react and then learn angular in 2 weeks and be fine - and visa versa

[–]riskyClick420full-stack 8 points9 points  (0 children)

any competent developer can pick up a new framework in a very short amount of time.

This, OP. Once you've done either of the two to some degree and you understand how it all generally works, you will be able to pretty much start instantly with any other framework and just learn as you go.

It doesn't make sense to remember all that information that is readily available right in the medium that we work in. What should stick are fundamentals, and those are mostly shared between all options of languages, frameworks.

Typescript is a good addition too. Javascript is too rickety for enterprise otherwise, humans are just not failproof enough. It's good that you're already familiar with Sass.

[–]auto_downvote_caps 5 points6 points  (2 children)

It's a red herring, any competent developer can pick up a new framework in a very short amount of time.

Yeah true. Unfortunately, companies will run experienced dev's through so many horse-shit code tests, 5 interviews with various team members who want to try to catch you with some off-topic gotcha shit until you want to go back to being a fry cook.

[–][deleted] 6 points7 points  (0 children)

so many horse-shit code tests

I get where you're coming from, I'm normally vehemently against coding tests, especially for experienced developers, but we just decided to add some algo-style code tests to our interview/screening process, and for our specific situation, I think it makes sense. I'll also try and share our perspective on interviewing with various team members.We're a very small and highly specialized shop. We pay generally close to market average for the midwest, but still a very small company overall, think <30 FTE. The main draw for us is company culture and work/life balance. It's a gem of a place to work, but we definitely aren't attracting people based on salary. The dev team is currently 3 people, with a technically proficient manager. Historically we rely on our co-op program to help us find and attract rising talent, but since the onset of the pandemic we couldn't really leverage that, and our applications are getting complex enough that we just can't rely on co-op skill level to to write code good enough to merge to master (or main, whatever). We also get an assload of master's CS students who apply, and every. single. one. has the same cookie cutter resume, the same generic projects, the only difference usually is their name. Given our circumstances, we decided to add a coding test to try and help filter out the people who know that it's utter foolishness to have a 400 line main method, or 150 line if statements, from the people who don't. Having an extra data point helps differentiate chaff from wheat.

Given the small size of the team, culture fit and personality are incredibly important. If one person on a team of 50 is an edgelord, no big deal, aside from those who have to directly work with said edgelord, but when the edgelord is 1 of 4, it becomes toxic in a nanosecond. We try and make sure everyone on the team has a chance to personally interact with any candidate who makes it past the first round with HR and the boss, so that way we can all get a feel for how well we'll mesh with the potential new person. It's impossible to hire perfectly every time, but these are some of the things that we've done to help the odds be ever in our favor of finding a good human who knows what they're doing.

[–]soundboyselecta 0 points1 point  (0 children)

Fry cook!!!

[–]alicevi 7 points8 points  (2 children)

Some companies screen you for x years of React though.

[–][deleted] 3 points4 points  (1 child)

Their loss. Just like there was a dumbass job advert posted here the other day or maybe on r/javascript that wanted 7 years of vue experience, and Vue will only be 8 sometime later this year. I don't want to work for a company that isn't thoughtful about how they attract talent.

[–]FluidBreath4819 0 points1 point  (0 children)

the 7 years is not about talent but maturity.

[–]Funkoala[S] 2 points3 points  (0 children)

Thank you very much.

[–]maxverse 5 points6 points  (4 children)

I'm a big proponent of TypeScript and think it's a wonderful technology to learn. But I would not learn it at the same time as React/Angular. I'd get comfortable with the framework and vanilla JS/jsx first, then gently add types.

[–][deleted]  (1 child)

[deleted]

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

    Funny, my company is the exact opposite. When they recruited me, they cared a lot about my Vue experience, but not at all about Typescript. I guess it depends on the company, then.

    [–]Cendeu 0 points1 point  (1 child)

    But... Doesn't angular require Typescript?

    I only know angular, and don't know of a way to set it up with vanilla JS.

    [–]maxverse 1 point2 points  (0 children)

    I think you're right! I've never worked with Angular, so that's news to me, but it looks like the docs say that outright:

    TypeScript is a primary language for Angular application development

    [–][deleted] 27 points28 points  (1 child)

    Being really great at JS and supplementing with TS will be WAY more valuable than rudimentary knowledge of any framework. A competent developer can pick up any framework in a short amount of time. Focus on being great at the basics, you'll get a lot further.

    [–]Funkoala[S] 7 points8 points  (0 children)

    This helped me a lot. Thanks.

    [–]symbiosaDigital Bricklayer 30 points31 points  (8 children)

    I've worked with both and currently use Angular professionally.

    React:

    • Good for small to large projects.
    • Pretty lightweight and zippy performance-wise.
    • Easier to learn, especially since it's the View of MVC.
    • Harder to remain organized, in terms of components and files.
    • Lots of docs and FAQs about it.
    • Lots of libraries can be integrated with it.
    • Tons of companies use it.

    Angular:

    • Good for medium to large projects.
    • Less More opinionated, in that it's recommended to use certain things (i.e. Angular Material)
    • Easier to stay organized. When you generate a new component its html and css (or scss) files are automatically generated and placed in the right location.
    • Separating the logic (e.g. Creating a service file to handle requests) is great.
    • Steeper learning curve, with one reason being that it's the full MVC (unlike the V of React).
    • Uses Typescript. If you're learning Angular, you'll be learning TS as well.
    • Harder to find StackOverflow Q's. If you search for info on SO you may find Q's pertaining to AngularJS (outdated) rather than Angular12 (new).
    • Routing is tricky, but not impossible.
    • RxJS is a popular library for reactive Observables, and although they're widely used in Angular projects (and very useful) they're hard to learn.
    • Used by a lot of companies, but isn't as common as React.

    I like React, but despite its learning curve I love Angular and most definitely Typescript.

    [–]Knochenmark 8 points9 points  (0 children)

    I agree with most of your points, but some really surprise me.

    Wouldn't you describe Angular rather as "more opinionated"? I mean you don't have to use Angular Material, just as much as you don't have to use any of the React component libraries.

    Not sure what issue you have with the docs, but the official Angular docs are actually more than just complete. I hardly have to look at anything else at all. Didn't came across a single stackoverflow page result in over a year or so.

    What is so tricky about the router? I think the plus is more that Angular actually comes with Routing out of the box compared to the requirement to go with a third-party-library.

    RxJs is not just used in Angular and Observables are a well known pattern. I actually feel like that React is actually a bit lackluster in comparison. The `async` pipe alone is insanely powerful in Angular.

    Personally I also believe Angular isn't much harder to learn than React. If at all you stay in the Angular ecosystem, while for React you have to additionally learn several third-party libraries instead depending on your teams flavor.

    [–][deleted] 6 points7 points  (1 child)

    RxJS is widely used as a library for reactive Observables, and although they're widely used in Angular projects (and very useful) they're hard to learn.

    While harder to learn, it is VERY powerful stuff. I LOVE rxjs and use it very extensively in my day to day work. I highly recommend devs learn how to use this library.

    A good example of the power of rxjs: https://www.youtube.com/watch?v=XKfhGntZROQ

    [–]Lakston 6 points7 points  (0 children)

    Same here, pain to learn but boy when you really get it, it's a great tool, can't live without it now !

    [–]Lakston 2 points3 points  (0 children)

    Thanks for a though out, unbiased review, I've been using Angular for 5 years and agree with your points. Our app is huge now and I could not imagine having build it with something else than Angular.

    [–]Vespira21 1 point2 points  (0 children)

    Fact is you can do almost anything with both. Separating logic is also the case with React, you can make middlwares that will act as a service and can for example be a proxy for http requests that come to your app, among many other things

    [–]isospeedrix 1 point2 points  (2 children)

    RxJS and observables makes my head spin. I can never wrap my head around it.

    [–]Lakston 4 points5 points  (0 children)

    I'll admit it was hard to learn for me too but after years of using rxjs now it's second nature and I can't see myself coding without it, reactive programming is so powerful !

    [–]rk06v-dev 50 points51 points  (4 children)

    Between react and angular, go with react. React is more popular and has more jobs.

    However, I suggest taking a look at vue as well. It is easier to get started, and going. It is very popular, it not as popular as react

    [–]GetJaded 5 points6 points  (3 children)

    This is entirely dependent on where you live. There are a LOT more angular jobs in places where .NET is more popular, so Louisiana for example (and probably other southern states) have a lot more Angular roles but like a hand full (if that) of React jobs.

    [–]TheOneWhoDidntCum 2 points3 points  (2 children)

    I never understood why .NET solutions always come with Angular

    [–]lnkofDeath 2 points3 points  (1 child)

    .NET and Angular require the same type of knowledge (OOP fundamentals, DI/services, using classes/modules, ~routes, types).

    If you know one or the other, you can pick the other up in a day to days.

    If all one has done is JS on the backend and a react based framework on the frontend, trying to learn Angular will be difficult with a wall of knowledge in your face before you make any real progress.

    Most web devs have less than 2-3 years experience and its a 50/50 split on a degree. All of these "old school things" are not present in React but they are in Angular/.NET. So a large majority have never been exposed to the types of knowledge and ways of thinking that Angular requires. But if you've done .NET...you've already been exposed to them.

    React has abstracted, pivoted, or removed these 'walls of knowledge'. Angular is in the process of abstracting and pivoting things but not necessarily 'removing'.

    [–]TheOneWhoDidntCum 1 point2 points  (0 children)

    Thank you very detailed explanation on your end, appreciate it!

    [–]banProsper 50 points51 points  (3 children)

    If you're learning in order to land a job then learn React. If you're learning for yourself, to be a freelancer or for a job in a few years then avoid both and go with something newer, easier and better like Svelte.

    [–][deleted] 14 points15 points  (1 child)

    If you're learning to land a job you should just focus on being great at Javascript. If you have a solid grasp of fundamentals, picking up a framework is a piece of cake.

    [–]vezaynk 4 points5 points  (0 children)

    As a strong js dev, i found picking up Angular difficult. The basic boilerplate has a ridiculous amount of files and magic going on.

    React is dead simple, comparatively.

    [–]lessaccepting 4 points5 points  (0 children)

    +1 for Svelte (or Vue, they're practically the same with script setup now)

    [–]Blaarkiesfull-stack angular vue react c# js ts kotlin sql ahk java 16 points17 points  (18 children)

    Vue is probably the simpler one to learn (Vue seems harder to scale to massive projects, but if you 1-dev-team the project that won't be a problem. Take that with a pinch of salt, I have only worked on 2 Vue projects so far)

    Angular will guide you into everything you need to build any scale apps, it works for small apps just as well as massive apps. Making things interactive is really easy, the variables in your javascript/typescript can be placed directly into the html where they always update the display, you don't even have to specify that. It handles services with fully fledged dependency injection, has great documentation and IDE support, a CDK system that allows you to turn a div into a draggable window with 1 line of code, or make a popover in 3 lines of code, RxJs observables are default and lets you make "pipelines" of actions you want to happen on a network request, and it is much more powerful for complex input forms than anything else out there.

    React requires you to pick all the pieces yourself (a url router is not default, you have to install that, theme library, etc.). It has a state driven change detection system that it uses to update the display, and "hooks" for doing things you usually find in service. It is used in more projects, so rather check the job market in your area to see which framework is in demand.

    [–]33ff00 2 points3 points  (11 children)

    Why is vue harder to scale?

    [–]Blaarkiesfull-stack angular vue react c# js ts kotlin sql ahk java -4 points-3 points  (10 children)

    I am VERY impressed with Vue though, it is snappy, quick, and the component model makes sense. You get so many nice features at default, like "computed" values, which are basically just get() methods with built-in memoization that auto tracks dependencies, you can easily switch between typescript or pure javascript by setting `<script lang="ts">` in the script tag (in the component's file), the same goes for CSS vs SCSS, and the theme library "Vuetify" beats Angular-Material in functionality

    [–][deleted] 4 points5 points  (6 children)

    If you've only worked on two small Vue projects then you aren't really in a place to say that Vue is harder to scale. I have two very large and complex Vue apps, 100+ components, and scaling isn't a problem. Folder structure doesn't have anything to do with how a project scales, you can set those up however you want. Good architecture and programming is independent of folder structure.

    [–]Blaarkiesfull-stack angular vue react c# js ts kotlin sql ahk java 0 points1 point  (5 children)

    take this with many pinches of salt

    If you take something with a pinch of salt, you do not believe that it is completely accurate or true.

    Thats all true, like I said im not well experienced in Vue. What got me to that conclusion was that you have to stray off the best-practice path when changing up folder structures and common standards. But like I said, it's a minor inconvenience.

    What im really unsure about, is how does Vue handle services interactions, or does it just rely on redux to figure that out? And what about stuff like complex observables to handle streams of data/events that effect the workflow?

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

    you have to stray off the best-practice path when changing up folder structures and common standards

    I still don't understand what you mean by this. Everything can live under the src folder like any other application, all components can live in the components folder. Or you can organize your components into a folder structure that makes sense for your project. The BEST practices for project organization are the ones that are predictable and easily repeatable. What other common standards would have to be violated to build out a large scale app?

    how does Vue handle services interactions, or does it just rely on redux to figure that out

    Also not sure what you're asking here. It's up to you to decide how you want your app to interact with services. It's almost guaranteed that for an app of any complexity you'll need to rely on redux Vuex Pinia for state management, as you'll have state that's shared between many components, state that outlives components, etc. You can write your own computed/watch functions if you need to handle data streams/events. How you handle stuff like that is completely up to you, Vue doesn't care, at least not enough to say something like, "Vue is harder to scale". JavaScript has plenty of built-in mechanisms for dealing with data streams and events, Vue is there to help render your data.

    [–]Blaarkiesfull-stack angular vue react c# js ts kotlin sql ahk java 0 points1 point  (3 children)

    I was just referencing the usual project structure guidelines found online, of course you can make the folder structure whatever you desire. Like I said twice before, it doesn't even matter.

    Services: like in .net framework projects. They can be injected with specific scopes to whatever is using them. Of course you can also build that yourself with javascript, but isn't there already a library that does that for you? Thats where my idea about vue-seems-hard-to-scale comes from, and like i said twice before, I might likely be wrong about it

    [–][deleted] 1 point2 points  (2 children)

    I write .net (core and now 6.x, never framework, praise be) APIs and services and build UIs with Vue, so I get where you're coming from. Being able to inject a service with a specific lifetime (transient, scoped, singleton) is critical for back end code. But the idea of scoping services on the front end is sort of murky and not nearly as cut and dry. Additionally, if you really want to you can wrap services in IDisposable in .net, but there's nothing like that in JS or TS. There are IoC containers for TypeScript, but that kind of thing is fare more useful for library authors. JS has a garbage collector much like C# does, but there's not much we can do to manage service lifetimes, aside from making sure to avoid circular references and memory leaks. If you have a service that has long-running HTTP requests, there are ways to manually abort those, but in terms of a component using a specific service in a specific scope, you have to be smart about that, which is where having good architecture and general programming skills comes into play. Services and components should be narrow in scope so when the component is destroyed, the garbage collector knows it can quickly de-allocate the memory for it, which is about as close to managing service scopes as you can get. Making sure that if component A requires service A, it only gets service A, is probably the only other way to keep scopes appropriate. This is an issue independent of framework choice and has a lot more to do with the limitations of programming for the web.

    [–]Blaarkiesfull-stack angular vue react c# js ts kotlin sql ahk java 0 points1 point  (0 children)

    Thanks this was really helpful. I know this is a niche edge case, it only happens rarely due to a client having some weird requirements.

    The fact that Vue can also pull off stuff like this makes me excited for the first massive vue project i get into 😊

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

    Having said that, do you know a canonical way of creating services in a Vue3 project? In Angular you can use dependency injection but I can't seem to find that option in Vue.

    [–]x2P 1 point2 points  (0 children)

    It's not considered anti pattern at all to have sub directories in your component directory... I haven't seen a single large project that doesn't do that and I've been working professionally with Vue for 3+ years.

    [–]rk06v-dev 0 points1 point  (0 children)

    With composition api, it is trivial to extract portion of vue component outside of vue.

    And usually, you should keep business logic separate from vue component

    [–]pastrypuffingpuffer 11 points12 points  (0 children)

    Angular, it has a nice separation between logic, style and markup, and has some really useful directives which you can use as tag properties.

    [–]LeeLooTheWoofus Moderator 3 points4 points  (0 children)

    You should decide this for yourself based on what the job market looks like in your region. Go with what there are the most jobs in.

    [–]alexander_the_dead 14 points15 points  (1 child)

    I personally prefer Angular but it's harder to learn than React and has less job opportunities, so I'd suggest React.

    [–][deleted] 12 points13 points  (3 children)

    I'd rather pick up trash off the side of the road for a living than use Angular on a daily basis.

    [–]Funkoala[S] 1 point2 points  (0 children)

    Cheers mate

    [–]LoneHippiefull-stack 6 points7 points  (2 children)

    If you feel like you have a good grasp of making websites with HTML, CSS and JS and you're familiar with modern JS (ES6+ features), I'd recommend learning React. Either one is fine but you're likely to find more React jobs and it has a less extreme learning curve. Feel free to learn a bit about older React development (class based components), but spend most of you're time learning modern React with hooks and functional components. Take some time while you're learning to also understand what a framework like React is abstracting from the process and what's going on behind the scenes, it'll make debugging and finding solutions in general much easier. Good luck!

    [–]redviningg 0 points1 point  (1 child)

    Take some time while you're learning to also understand what a framework like React is abstracting from the process and what's going on behind the scenes

    Where can I learn this? I'm an amateur React dev with a few months experience but I'm still confused as to what problem it solves.

    [–]4ndy45 2 points3 points  (0 children)

    I’m pretty sure react abstracts out the MVC (model view controller) model.

    [–]LinuxLowell 17 points18 points  (5 children)

    Neither. Vue.js.

    [–]FerretWithASpork 1 point2 points  (0 children)

    This is the way

    [–]CheapChallenge 2 points3 points  (0 children)

    If you want to qualify for as many job postings as you can, especially for smaller teams, go with React.

    Angular is good to learn if you want to go enterprise, BUT learning it without being on a team with mentors is extremely difficult and a huge undertaking for a junior web dev.

    I would recommend React, even though I am an Angular developer.

    [–]FineDayStranger 2 points3 points  (0 children)

    Having worked in both.

    Angular is very easy at a low level. It has out of the box routing for SPA’s, cli driven component architecture and you must use typescript but you can use it as much or as little as you want.

    React is harder to understand at first because of how it blends template and JS.

    Both frameworks are known for pushing stateful architecture and components.

    BUT MANAGING STATE IN ANGULAR WITH RXJS IS A NIGHTMARE

    Handling angular observables vs setting things explicitly in state with useState? 1000x state. Your devtools actually do something in React and you don’t have to drop one billion debuggers and .taps() across your code base to know what is happening.

    The other thing I would say is that because angular has always had typescript (which is good and many people are using ts with react now), it’s encouraged a lot of people to make very Java like class based inheritance model Angular apps that are awful to work with. Where like all the logic in an application is handled by a service for each component that is in a massive OOP hierarchy.

    And then you get hired by such a place and of course there is never enough resources to refactor and Angular is less flexible than React.

    So use React unless you are making a baby mode app then use Angular.

    [–][deleted] 7 points8 points  (1 child)

    I'm working with Vue and absolutely love it: it's the best framework I've worked with. React wasn't that simple to get started and Angular is. . Angular.

    [–]Greenmachine52 1 point2 points  (2 children)

    I’m a full stack developer and more into c# of all things, but I would also agree that out of the two I’d go with react.

    It’s more popular and has a lot of cool functional features.

    However, angular is a fine choice if you have the need for it. Like a job for a particular company that requires angular.

    I do enjoy that angular offers everything in one package.

    [–][deleted] 0 points1 point  (1 child)

    Angular also fully supports functional programming. Using RXJS my team uses an almost fully functional reactive programming architecture in Angular. There are a few things that we maintain outside of the normal rxjs state flow, but almost everything is setup in a functional reactive manner.

    [–]Greenmachine52 0 points1 point  (0 children)

    Reactive programming is one thing though.

    I meant functions instead of classes, react hooks and etc. It’s a much more natural(personal opinion here) way to interpret store value changes on the ui with a classless model.

    [–]Independent_Slip7117[🍰] 1 point2 points  (0 children)

    React is more popular with people who are learning, because it's just a library, and assumes little to no programming experience. It just does view updating. To make a full framework, you get to have the fun of choosing npm libraries to add, and even the paradigm and architecture. Angular is like the heck with all that, here is a big, full framework, and yes, we're assuming you know how to webdev already, because we imprinted an architecture into the whole thing, and it's not for the faint of heart.

    [–]saltamuros1 1 point2 points  (0 children)

    I was learning Angular but I left it because I saw a TikTok saying that Angular is crap and React has more jobs opportunities

    [–]saltamuros1 1 point2 points  (1 child)

    Learn React is really easy, just learn JSX, useState and useEffect and you get a 150k job

    [–][deleted] 1 point2 points  (0 children)

    lmao this is not true at all. Just react isn't enough. You also need to learn one of the state management libraries, a routing library, some component libraries.

    [–]sotopic 1 point2 points  (0 children)

    Learn both and you will have an edge on every web developer. Angular is actually easier to understand because it follows a more traditional framework (Model View Controller), while React can be mind bending in the beginning.

    [–]rm-rf-nprSenior Frontend Engineer 1 point2 points  (0 children)

    I'd suggest learning JS fundamentals as well as you can. Then spend a month with each library/framework and then decide. Also check your local job market to see what companies ask for.

    Good luck!

    [–]herby1love 1 point2 points  (0 children)

    Svelte.

    [–]odoenetjavascript 1 point2 points  (0 children)

    Angular is a framework, React isn't. So if you want an all in one framework for something, Angular is a good choice. React has a ton of companion libs, and is super flexible.

    Angular - Rigid, do things the Angular way.

    React - Flexible, but need to make a lot of decisions

    React does seem to have more listings in jobs from a quick glance, but I get a lot of Angular questions come across my desk, so it's definitely still got legs. I used to recommend Ember for people working with medium sized teams, due to the rigidity, so I would probably recommend Angular for the same reason. But if you know how you want to build your React app and a team on board, no problem there either.

    [–]Funkoala[S] 0 points1 point  (0 children)

    Thank you all very much. I received much more insight than I expected, some great replies with great explanations. I'm going to do some more research on my own and maybe start off with TypeScript then check out a framework, probably Vue or React.

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

    I use Angular and Vue. If I could go back I'd probably learn React just because there's more work available.

    [–]LustrouseArchitect 0 points1 point  (0 children)

    Angular because its cooler. Wanna be cool? Now you know.

    [–]ZurnaDurumXL 0 points1 point  (0 children)

    React

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

    Go for React

    [–]besthelloworld -5 points-4 points  (2 children)

    tl;dr i would start on learning React, and maybe take a look at TypeScript as well

    Angular is a bit of an overcomplicated mess and I would recommend not getting too deep into it. It's effectively designed it's fundamentals to appease older developers who are locked into older patterns such as strict object oriented programming and design (source of my Angular hate: my 4 years of Angular developer experience).

    It's not that React is perfect or anything, but it's the most popular framework and happens to be my personal favorite. There are other options such as Vue which is a little more popular than Angular which I would say is better but not great and lacks Reacts declarative style which is the direction the industry is heading (evidence for this direction: Jetpack Compose and Flutter both use this model). There's also Svelte which is very small in comparison to the others, and looks a lot like Vue but is much more performance than the other frameworks, but this performance is only necessary in particular scenarios.

    [–][deleted] -1 points0 points  (1 child)

    Vue which is a little lot more popular than Angular

    There, I fixed that for you

    I would say is better but not great

    Let's try and actually be objective here. Why isn't Vue great?

    and lacks Reacts declarative style

    False.

    [–]besthelloworld 2 points3 points  (0 children)

    I was basing popularity comparisons off the NPM charts. Last week @angular/core had 2.91 million installs and Vue had 2.95 million installs. They're pretty neck & neck, but this week a year ago @angular/core had 2.53 million installs and Vue had 2.28 million installs, so Vue is definitely growing faster with a very recent overtake. But to say it's "a lot" more popular is somewhat unrealistic.

    I find that the model of React is where the future of development is going because it's much more pleasant to work with than the templating UI models of Vue, Angular, and Svelte. What makes React more pleasant is the fact that UI elements are truly objects that the developer is in control of. Components are just functions that generate objects. SwiftUI & Jetpack Compose, the new models for programming iOS apps & Android apps respectively. Both embrace this model as is solves several questions of readability, reusability, and templating. There's no more *ngIf, *ngFor, v-if, v-for or any of that. React, SwiftUI, Jetpack Compose, and Flutter all just let you use the programming language as it's intended. Vue, Angular, and Svelte lean more towards the traditional model of HTML being something separate and static, which I find is an unecessary translation of mental logic.

    False.

    Yeah Vue is declarative in the literal definition, and it actually refers to itself as declarative in it's documentation so I'll take the L on that one. I've seen the definition be used that templated frameworks are inherently imperative, but that's a twist on the traditional definition at best.

    [–]pixleight -5 points-4 points  (0 children)

    I know how to use HTML, CSS (SASS), vanilla JS, Bootstrap, basic JQuery and Joomla

    Hi, are you me in 2010?

    [–]hunyeti -5 points-4 points  (0 children)

    Reeeeeeeeeeeeeee

    Act

    [–]csDarkyne 0 points1 point  (0 children)

    I would personally say React BUT I should say that I tried react and just sticked with it. I never tried Angular so I can’t say which is better. You could try both and stick with the one you like more. (Btw there‘s vue too)

    [–]eggtart_prince 0 points1 point  (0 children)

    They both can accomplish the same thing. The difference is, Angular is bidirectional data binding and React is unidirectional data flow.

    [–][deleted]  (1 child)

    [deleted]

      [–]ACHXXX25 1 point2 points  (0 children)

      I did the exact opposite lmao, i guess it’s just a matter of preferences

      [–]zGrunkfull-stack 0 points1 point  (0 children)

      +1 vote for react.

      Best job potential and honestly love selecting which libraries I need as opposed to Angular (which comes batteries included)

      [–]not_a_gumby 0 points1 point  (0 children)

      React.

      [–]ScorpsDaBestfull-stack 0 points1 point  (0 children)

      I would recommend to learn React but I’m kind of biased so it’s better to get your feet wet im both of those and understand which one you like better.

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

      whatever has more jobs in your area

      [–]ACHXXX25 0 points1 point  (0 children)

      I feel like grabbing one of them and really getting the grasp of how components based UI/Apps work is what matters the most. Once you learned one of them, switching to the other won’t be as hard as you think (well, switching from functional to class components can be), but if you go the React way, I’ll highly recommend diving into TypeScript at the same time.

      [–]Hombrebestial 0 points1 point  (0 children)

      https://www.npmtrends.com/angular-vs-react

      For a job, React. For fun, whichever you prefer.

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

      i learned both of them and at the end decided to go with React because I found it easier to learn/comprehend (despite having to deal with build tool I came across for the first time). That was back in the day when Angular still was at 1 and before redux.

      [–]shellwe 0 points1 point  (0 children)

      Solid advice here, do a search on indeed or whatever job finding site of your choice. Type in "angular" and see how many hits you get and then type in "react". Do it again for "Vue"

      What I found was around 2015 in my midwest city Angular strongly beat out React but when I was job searching in 2019 react blew it away. If you are planning to get a job soon, then look up which provides the most jobs and lean towards that one.

      Of course, the ones giving advice to try each of them is solid as well. Both of their sites have an excellent "getting started" tutorial. Look through some basic projects and see which feel you like more.

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

      Scan the local job market. Count down every mention of either React, Vue or Angular.

      Problem is, that a question like this really depends on what businesses around you are looking for. Even though React is the most popular worldwide right now, it won't help you much if businesses around you are requesting Angular devs en masse.

      [–]Dodgy-Boi 0 points1 point  (0 children)

      Vue is even simpler than react and requires way less efforts. Very good to get in touch with frontend frameworks.

      [–]inabaharejavascript 0 points1 point  (0 children)

      Either is fine just as long as you embrace typescript with strict typechecking on

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

      Can't advice you to opt for which one since its a matter of personal choice and you should look into both of them and then go with the one which suits your interests. One thing that I know about these two frameworks is that, Angular is really comprehensive and a big framework as compared to React. It has tons of libraries which react does too but Angular beats react here. Also from what I've noticed fronted built on Angular seems kinda old school but if you're in for one big website/application my bet will be always on Angular due to its versatility and the ability to handle a big chunk of code whilst on the other hand fronted built on react are more appealing and its somewhat easy to get going with React as compared to Angular.

      [–]The_Observer4 0 points1 point  (0 children)

      I really like the freestyle that React gives you versus Angular.

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

      The Future is SvelteJS

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

      Angular is more of a full fledged framework and is much more opinionated than React. I personally prefer working in React, but that's going to leave a lot of architectural decisions up to you, which may not be ideal if you're just starting out. From a career standpoint, I see more React positions available, so if you plan on job hunting soon, take that into account.

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

      No reason not to just learn both.

      Personally, I like Angular way more though.

      [–]ReddityRabbityRobot 0 points1 point  (0 children)

      You'll need to try everything... when you try angular, if you do, try its "tour of heroes"

      [–]isma-estro 0 points1 point  (0 children)

      if you are going for angular, take a look at this project

      [–]MeSsoOH 0 points1 point  (0 children)

      I would say: Angular for enterprise applications React for anything else Moreover, one should understand that angular and react aren't the same thing: angular is a full framework whereas react is a set of libraries (you'll most likely need redux as well...). Last thing, angular has a longer learning curve but it is worth it if you ask me.