DEV Community

Discussion on: Vue.js vs. React — Not Your Usual Comparison

Collapse
 
khorne07 profile image
Khorne07

Actually I have seen some Vue but I don't see nothing that makes me leave React. The only advantage I see in Vue is that has some improvements on the development time since code is more simple cause of the 2 way binding, but nothing else, so I don't think I'll move from React to Vue...
Now Svelte, is another story 😏, that is a real sexy hot tool and definitely something I certainly want to try 🙂

Collapse
 
leob profile image
leob

I think the biggest factor is which one you learn first - people who learn React first swear by React, people who learn Vue first swear by Vue. After learning one rather than the other you'll probably never be capable of being totally objective and unbiased anymore lol ;)

Collapse
 
jackmellis profile image
Jack

I learned Vue first. I was a Vue developer for about a year and even after I moved to a React company, I continued to use Vue on side projects. However as time has gone on I have slowly fallen out of love with Vue. Each time I came back to it after doing react every day, I found it a bit less convenient, and especially if you're trying to do complex or low level stuff, I found react easier to bend to my will.
Dont get me wrong, I still have a real soft spot for Vue and the whole team behind it, and the learning curve is way shorter than React's, but I'm definitely not biased towards my first love any more!

Thread Thread
 
leob profile image
leob

So in fact what you say is that React is more flexible ... which is probably the flip side of the coin of Vue being "opinionated" (i.e. "fewer ways to do something") ...

Thread Thread
 
rcoundon profile image
Ross Coundon

I'd be interested to know some concrete examples of what you found to be less convenient. Can you share?

Thread Thread
 
leob profile image
leob

I didn't mention the word convenient, I think you meant to reply to the other poster?

Thread Thread
 
rcoundon profile image
Ross Coundon

Sorry, yes, I was replying to the same comment as you, the ordering of the replies makes it look like I was replying to you.

Thread Thread
 
riccardop87 profile image
Riccardo Polacci

This thread can be summarised into: "React is a library, Vue is a framework".

By definition, libraries are more malleable and less opinionated than frameworks.

Collapse
 
domagojvidovic profile image
Domagoj Vidovic

2-way binding is just one small cool thing. It's all about it's simplcity. I quite rarely have to Google how to do something in Vue - I Google much more about pure HTML/CSS/JS.

While with React, I had to Google about it A LOT and I was sometimes frustrated because I couldn't get in working, no matter what I do.

And it's so incredible to me - how can I do everything with Vue, while keeping it so simple?

Collapse
 
khorne07 profile image
Khorne07 • Edited

I have seen a lot of Vue since my best friend use it. And I just dont entirely like it so after seing a lot, I figure out that I won't use it. You say you google too much, well then React isn't for you, we are not always confort with a way of do things or a tool. For me write React and jsx is as natural as breath. In the end the supose to do the same but both have advantages and disadvantages compared each other, is a matter of personal taste in the end. For me React has all I need to make a nice job so I'll keep it for long 😊.

Collapse
 
buphmin profile image
buphmin

I have used both tools as a full stack engineer focused more on the backend. For me vue works better for building data driven applications with lots of business logic. I find it much easier to manage the state and logical layers in vue.

Anecdotally speaking, and excluding myself, I have noticed people writing high data/business logic types of applications in react take quite a bit longer to develop equivalent features vs people of equivalent knowledge in vue.

Collapse
 
rcoundon profile image
Ross Coundon

"The only advantage I see in Vue is that has some improvements on the development time since code is more simple cause of the 2 way binding, but nothing else"

So the only advantages you see are the main factors in the the cost of building and maintaining robust applications - time and complexity.
Seems to me like two of the very best reasons...

Collapse
 
khorne07 profile image
Khorne07

And of course, If I will have in consideration to improve all the drawbacks that comes by using React then I won't choose Vue since in the end is used for the same. That Vue is simpler and require a little less boilerplate? Wtf, if I want less boilerplate, higher performance and a lot of new cool things out of the common SPA, then the right choice is Svelte, that is a great improvement in coding speed 😉

Thread Thread
 
rcoundon profile image
Ross Coundon

Maybe maybe. I don't have much experience with Svelte but I played a bit a while back.
It's interesting, certainly. When I did I remember it feeling to me like it's relying on a JavaScript trick - the labelled statement.
I don't think the ecosystem is anywhere near as large or mature, for example, for component frameworks.
It's definitely good for the frontend community that people like Rich Harris and Evan You come up with and build new concepts to drive things forward.

Thread Thread
 
khorne07 profile image
Khorne07

Of course it's ecosystem can't be as mature and vast like the Vue or React ecosystem since Svelte showed up in 2018, is a very new technology but still very very promising one an certainly we will see how it will get up and grow a lot next couple years

Collapse
 
khorne07 profile image
Khorne07

The time improvements I'll accept them, but in large scale aplications, the two way binding is less predictive than the flux pattern implemented by React, actually that is the reason why React implements flux pattern at his core. I'm far from being a frontend expert, but I read a lot, I love to stay informed and everytime I look for recomendations in every place I got the same: Vue is faster to develop and best for small to medium apps, but for large scale aplications React is the tool to go. You may agree or disagree but this is the opinion I have seen every songle place there is a serious neutral comparison between frontend tools.

Thread Thread
 
rcoundon profile image
Ross Coundon

I don't see how it is any less predictable. Vuex is a first class extension to Vue and the authors state:

"This is the basic idea behind Vuex, inspired by Flux (opens new window), Redux and The Elm Architecture (opens new window). Unlike the other patterns, Vuex is also a library implementation tailored specifically for Vue.js to take advantage of its granular reactivity system for efficient updates."

I occasionally see people stating this for large scale applications but they never seem to say why. You're right, I don't agree :-D. Both options support all sizes of applications. There's nothing in Vue that makes it suddenly unfeasibly once you get to a certain size.