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

Vue.js

446 readers
9 users here now

founded 1 year ago
MODERATORS
 

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 8 comments
sorted by: hot top controversial new old
[–] [email protected] 4 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.

[–] [email protected] 4 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).

[–] [email protected] 3 points 1 year ago

I prefer vue because of better syntax (imo)

[–] [email protected] 3 points 1 year ago (1 children)

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.

[–] [email protected] 1 points 1 year ago (1 children)

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.

[–] [email protected] 7 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.

[–] [email protected] 1 points 1 year ago

I'm jealous of the React ecosystem, for sure.

I tried react, and it just didn't click for me.

I like Vue3, it has some awesome features and power as you dig in, and at the same time if it's a simple component it's simple code.
I like that 99% of the time, I don't have to overthink the reactivity and lifecycle of components.
I like that the templating is basically HTML.
And I think the composition API has finally clicked for me, instead of just using it "because I should"

[–] [email protected] 1 points 1 year ago

I've never developed in Vue, personally, just mostly in React. However, I don't think that the framework is that important at the end of the day. Your app will be plenty fast no matter what option you choose, assuming you ensure you are following the guidelines set by the framework, and React is plenty easy if you have enough experience under your belt.

Whats more important is making sure you, and your team, can understand and maintain the code. If more of your team is comfortable with Vue, then stick with Vue. If you're thinking your team will expand, and you want to leverage the fact that React is the better-known framework to have more options for hires, then choose React. Choose what makes the most sense for your team and your application.