DEV Community

Cover image for React vs Vue - Which should you choose?
Anthony Gilbert
Anthony Gilbert

Posted on

React vs Vue - Which should you choose?

Choose Vue.

Top comments (31)

Collapse
 
eshimischi profile image
eshimischi • Edited

Vue all way, React is overrated, very slow and a lot of headaches if you don’t understand it, no matter what people say and etc. Vue is easy to start with and way more laconic and nice to work with for beginners. I saw a lot of complex applications made with Vue 3, take a look to this guy, he is one of the top maintainers in Vue community - github.com/antfu . But seriously it doesn’t matter what will you choose, both library and framework do the same things at the end.

Collapse
 
axel_nieminen_072275fab50 profile image
niemax

I understand this opinion when it comes to hobbies like side projects, but React is definitely not overrated when it comes to enterprise (especially data-heavy) applications.

Collapse
 
eshimischi profile image
eshimischi

I see no issues with using Vue for data-heavy applications as well.. Up to you, what suit you best. At the end of the day - they all do the same..

Thread Thread
 
axel_nieminen_072275fab50 profile image
niemax

It's not that Vue isn't applicable for data-heavy applications. It's just not (usually) worth the effort to adapt Vue when there's React. At the end of the day it's about what gets the job done in the most efficient way and how to monetize customer's pocket. :)

Thread Thread
 
eshimischi profile image
eshimischi • Edited

So it’s not the matter of framework then - but how good your hands are and grow from the right place lol

Thread Thread
 
axel_nieminen_072275fab50 profile image
niemax

As I said - that's how it is when it comes to non-enterprise applications. Doesn't matter at all. Go with what feels right. :)

Thread Thread
 
axel_nieminen_072275fab50 profile image
niemax

Remind you that I'm talking about enterprise here. It's the only area in which choosing the right library/language/framework matters.

Thread Thread
 
microerror profile image
microerror

It's just not (usually) worth the effort to adapt Vue when there's React.

This sentence makes literally zero sense.

Remind you that I'm talking about enterprise here

"enterprise" you're talking about means nothing and says nothing about the quality of the tool. Enterprise merely means "they probably have more money to burn than agencies".

In real world scenario, you'd expect frameworks not to alter the way you use underlying language. Vue excels here, since it's good old JavaScript (or TypeScript) without any surprises. It's template syntax resembles HTML more than anything else. The 90% of the learning curve is done by this.

Choosing accurate tooling DOES matter and SHOULD matter. Sane choice is choosing a tool that doesn't require years of adapting to the tool. React is not like that. It's also made by the largest spyware company on the planet. There's plenty of moral reasons why not to go with React, but they also make it easy to avoid it because of technical reasons.

I consulted on plenty of enterprise projects. React ones were always the ones that went through the hands of multiple "teams", they were never finished and it was spaghetti code with a ton of libraries thrown together, mixed in a nice soup of "where the hell does this thing even start executing" React noodles.

Collapse
 
microerror profile image
microerror

It is. That's the area where I work at. React is literally disgusting, and most devs you'll get to work are copy/paste type of devs who don't even know JS, they learn React - and React became purpose to itself, not for anything else. There's very small percentage of devs who can utilize React properly. The reason it plays a role in entreprise is because of terrible hiring managers who aren't devs themselves and are capable only of understanding which tech might reach the most devs. Pair that with people who claim they're devs and you get awful thing called React. It's not even hit and miss, it's more likely 90% miss, 10% hit when it comes to hiring. I won't even start on hooks and black magic which complicates the simplest concepts.

If we were sane people, we'd weed out React since its inception.

Thread Thread
 
axel_nieminen_072275fab50 profile image
niemax

This all seems like a very strong opinion so I will just leave it here.

That said, use what suits you on your hobbies. Take care! :)

Thread Thread
 
microerror profile image
microerror

I do this for a living. It's not something that just puts food on the table, this is the vocation that provides for my lifestyle and it's something that interests me. It's a larger part of my life.

And it will play a huge part in someone else's life. Having weak opinion written while you're passing time browsing on your smartphone while on toilet helps no one, not even you, as you won't build any kind of brand for yourself.

Thanks for bailing out of the discussion, take care :>

Thread Thread
 
axel_nieminen_072275fab50 profile image
niemax

I’m sorry but as of right now I’m not even sure anymore if you’re a troll or not. I went through the original post and to me it seems like you’re really just trying to push your own agenda. You had something negative to comment about React on everyone’s comment. This is why I’m ”bailing out”. Talking about ”creating a brand” with an anonymous profile, what else?

By the way - I’m not saying I don’t agree with some of your statements, but your opinion is just way too strong for me to waste time talking about programming preferences here. It’s like Apple - you’re probably an Apple hater and you say that it’s just trendy to use their products and that’s it. Well, why is it trendy? Definitely not because there’s so much good in them, right?

Thread Thread
 
microerror profile image
microerror

it seems like you’re really just trying to push your own agenda

Every person who uses textual medium to discuss any topic pushes their own agenda. What else would anyone else do? I mean.. it's like you discovered hot water.

if you’re a troll or not

Strong opinion and I'm a troll, because I wrote 3 negative posts about React? I've seen people lose money because of it and I've seen people who pretend they're devs literally ruin startups and small businesses. Am I supposed to write gospels about it? It's just junk tech that attracts wrong type of person to it.

Talking about ”creating a brand” with an anonymous profile, what else?

I'm not here to create a brand. I'm here to talk from experience and hopefully avert people from ever working with React.

you’re probably an Apple hater

I am. I don't like to use it. But it's excellent tech. And it proved to be useful for millions. It's something I can dislike but it's not something I can criticize. It's beyond useful and trendy, Apple has been here for too long to be called trendy. It's an amazing piece of tech that bridged the gap between complexity and ease of use, all I can do is praise it for what it is. The way I "hate" Apple is silent, I could never claim it's bad and call myself IT expert. Comparing Apple and React is impossible, one is highly sophisticated while the other one is product of selling happiness through the largest spyware/marketing company on the planet.

Collapse
 
mahmoudshalaby profile image
Mahmoud Shalaby

Try svelte, and you won't use vue again.

Collapse
 
eshimischi profile image
eshimischi • Edited

Oh, c’mon, mate. It is useless to compare the frameworks. Just use what suit you!

Collapse
 
microerror profile image
microerror

Svelte suffers from not having remotely as large ecosystem as Vue does. If you're a solo dev, with enough time to build all the libs and functionality you'll ever need - sure, Svelte might seem like a cool thing. In real world scenario, it does not offer a single benefit over Vue. No, not even benchmarks that prove how fast it is are accurate. It's also not the guarantee for performance.

Svelte is a nice toy, but Vue is the only one that comes with large enough ecosystem in which you can find libraries you need or you can quickly bootstrap a lib with build/treeshaking system.

My credentials: I've been in frontend since 2001. I used Vue, React and Svelte. React is literally awful, it started to exist to advertise itself. Svelte, apart from unappealing name, suffers from tiny ecosystem and lack of tooling (look at Vue 3, Vite, Nitro, Nuxt). Vue is the only sane choice if you need to finish something on time. I'm not a fanboy, I'm someone with deadlines. If you have existing JS knowledge, Vue is the one with lowest entry barrier and with the largest measurable time saving, from start to delivery.

Collapse
 
dcichorski profile image
Dariusz Cichorski

I think Vue is a good choice for people wanting to start front-end development. It's fundamentals are pretty straightforward and it has it's own ecosystem that saves you time for searching what tools you should use. Also the community is big and involved in discussions and support.

It's worth noting that it will be difficult to develop a professional career in front-end development knowing only one framework. You should be open and flexible to learn new ones if the situation requires. Just treat framework as a tool in your toolbox that should be updated depending on requirements. 🙂

Collapse
 
microerror profile image
microerror

So what you're saying is that a developer shouldn't learn how to solve problems, they should forcibly learn frameworks because knowing the framework is what matters but learning algorithms / underlying concepts / the language itself (JS) is less important?

Collapse
 
dcichorski profile image
Dariusz Cichorski • Edited

Point me to any part of my comment that said that learning framework is more important than learning language / algorithms / problem solving. It was never the question. This topic was about choosing specific framework over those two, never about what is more important.

Obviously without that fundamental knowledge you will struggle badly when it comes to feature implementation, so you should not skip that and also focus on developing your fundamental knowledge in programming. Frameworks are here to give you tools and structure to develop the solution that solves your problem. The solution itself is another matter.

Thread Thread
 
microerror profile image
microerror

The part where you imply something without explicitly writing it is when you suggest that shoving frameworks in your CV helps one's career. It does not. That's why I expanded on what you implied but did not type.

Collapse
 
lexlohr profile image
Alex Lohr

That depends solely on your requirements, as both frameworks have their advantages and drawbacks:

  • React has an extensive ecosystem including excellent tooling, easy to find jobs/devs, a large, vibrant community, but also complicated hook rules, the requirement for an external state management for global state and lots of packages in its ecosystem that are orphaned or otherwise of bad quality.
  • Vue's ecosystem and community is not as large, but the state management is much simpler and versatile. On the other hand, Vue attempts to be everyone's darling, which can become quite confusing if you're not following the recent development.

That being said, there are other alternatives, i.e. Svelte, Solid, Marko, Astro or Qwik, that should also receive your attention depending on the use case.

Collapse
 
eshimischi profile image
eshimischi

Astro is a static site generator, not framework..

Collapse
 
lexlohr profile image
Alex Lohr

Right, it's more a meta-framework. Still worth a look.

Thread Thread
 
eshimischi profile image
eshimischi

Yes it is, but you can use any UI framework/library with it - React/Vue/Svelte

Collapse
 
ninjin profile image
Jin

Of the two, you should definitely choose Vue because it has a more practical architecture that doesn't require you to write tons of code and spend a lot of time optimizing. However, if you are interested in the best solution, you should try $mol. If you are not learning frontend from scratch, learning $mol can be complicated by having to completely retrain. But it's worth it. Even if you don't manage to use this framework for your projects, the patterns you learn will help you a lot in developing applications in other frameworks as well, because you will see more problems and know how to solve them better.

Collapse
 
fyodorio profile image
Fyodor
  1. Technically speaking it doesn’t matter, and I would choose something more robust and performant, like SolidJS
  2. React is supported by evil, so in this pair I’d choose Vue, just because someone should fight evil 💪
Collapse
 
brense profile image
Rense Bakker • Edited

https://www.reddit.com/r/Netherlands/comments/vs96j5/in_the_netherlands_the_police_start_shooting/?utm_source=share&utm_medium=ios_app&utm_name=iossmf

I'd say React. Vue was hyped a lot five years ago and clearly people who work with it are satisfied, but if you look at actual usage, its way behind React... So despite being hyped it was unable to take market share away from React. Also Solid is very similar to React, so in case Solid takes off in the future, you should be able to switch easily as a React developer.

Collapse
 
microerror profile image
microerror

Anything except React.

Nearly every project I saw coded in React was abandoned by its original creator - from OSS to client-work. Most people don't even know JS yet they try to learn React. That leads to spaghetti code and code plumbers who copypaste answers from StackOverflow.

The very community that React boasts with is what's terrible. And there's many of them.

People who excel in programming are exceptional individuals. And if there's tens of millions of people working in React field, are they exceptional or could it be they're merely pretending they are?

React attracts low-talent because there's promise of money. Untrained individual can only contribute to a huge mess and then leave/get fired. That's precisely what happens. And that's what React's community is. I don't care if anyone gets offended, it's a fact.

Beware of what you do and remember that programmers are people who figure problems out first and then they provide solutions. Frameworks are mere tools in this equation, not vocation. Ones specializing in frameworks are impostors, you want to become engineer/programmer and not code plumber whose only tool is cool framework of the year.

Collapse
 
atinypixel profile image
Aziz Kaukawala

I don't know.

Started learning Vue & React together but landed the first project (between these two) in React and since then there is no going back.

Started with core React & now working on Next.js with typescript.

Today, I'm so used to with React, everything else seems out of way for me. Its like learning Django is easier as its fundamentals doesn't collides with React but learning/getting-started with Vue, svelte etc is quite hard as it collides with React's fundamentals in a way!

Please let me know if someone can relate with this or have dealt with such issues in past and how to deal with it!

Thanks!

Happy Coding

Collapse
 
eshimischi profile image
eshimischi

We can say the same about different languages, for instance, PHP and Python, fundamentals are different but basic principles are pretty equal, so i see no issues of writing React or Vue stuff, even if syntax is different

Collapse
 
caominhdev profile image
Cao Quốc Minh

Choose React