4
why Vue over React? (programming.dev)

We have a Vue frontend and I'm getting some feedback when we upgrade to Vue3 we should move to React just for the ecosystem and dev availability. I thought Vue was a better/faster/easier response to react. What are your thoughts?

top 6 comments
sorted by: hot top controversial new old
[-] nibblebit@programming.dev 2 points 1 year ago* (last edited 1 year ago)

Vue has had the fastest growing adoption for the last few years according to the Stack overflow and JetBains surveys.

I've had better experiences onboarding young developers onto Vue projects than React. I also feel that Vue skills transfer better to other applications rather than front-end.

The dev availability is different per region. We see that applicants in northern Europe for example is still very Angular leaning, while SE Asia is more Vue. I think React is mostly a West US phenomenon.

[-] codepoet@programming.dev 2 points 1 year ago

I think Nuxt is light years ahead of Next, imo. Both Vue and Nuxt are easier to use than React and Next, even in their Vue3 form (despite my other comment).

[-] jmk1ng@programming.dev 2 points 1 year ago

I was a big fan of Vue 2. Vue 3 is a completely different library if you choose to adopt the composition API (which is where everything is headed). If everyone is going to have to learn a totally new composition pattern, might as well look at what else is out there.

Kinda similar to the big overhaul between Angular 1 and 2

Vue 3's Composition API and composables are more similar to React functional components and hooks than it is to Vue 2 and its Options API. That's not to say that React Hooks and Vue Composables are apples-to-apples. They still have different approaches to reactivity and so on, but the programming model is more familiar between the two.

Coming to Vue 3 from 2 was a bit of whiplash. However I've been working with it for a few days now and have come to appreciate how much more flexible and powerful it is to have access to Vue's reactive primitives anywhere - you don't have to write all your business logic in the scope of a Vue instance.

That said, it comes with a much higher learning curve. Vue 2 gave you guardrails, an easily understood component class structure, etc. That's what I liked about it as it scaled well to large teams. Whereas React scaled to a large team quickly turns into a complete mess. Ask 10 different React engineers and you'll get 10 surprisingly different approaches to how to implement components and architect applications.

[-] codepoet@programming.dev 0 points 1 year ago

Truth. As someone who cares more about getting the job done and done well, Vue 3 seemed like a step back to me. If it's moving to be more and more like React, why wouldn't I just use React? These frameworks don't need to be as complex as they're being made to be, and Vue 2 proved that. Vue 3 loses the magic for me.

[-] xoggy@programming.dev 2 points 1 year ago

I will say it took a bit of warming up to the composition API but referencing the static variables as opposed to this.variableName made it easy to spot a bunch of dead code in our components. I also don't have to think about reactivity like I used to. Vue.set and Vue.observable just aren't necessary any more. So from a surface level it seems you're more abstracted and removed from the target browser code it outputs but from a cognitive overhead standpoint it's been a simpler, cleaner experience using the composition api and build toolchain.

My only complaint is inside the script block you have to reference computed values as variableName.value instead of just variableName. If it wasn't for eslint to tell me I forgot to type ".value" when referencing a computed value in the script block I'd probably screw this up a lot. Having to depend on eslint to address a shortcoming in the api feels wrong to me.

[-] starman@programming.dev 1 points 1 year ago

I prefer vue because of better syntax (imo)

this post was submitted on 19 Jun 2023
4 points (100.0% liked)

Vue.js

446 readers
8 users here now

founded 1 year ago
MODERATORS