Learning Vue vs React

Hi, I know React has tighter Meteor support but also a steeper learning curve than Vue. How significant is this drawback if going the Vue route? Which front end layer would you recommend a newbie learn?

The difficulty level of Vue is the same as Blaze, but itā€™s potential is much closer to React. Give both Vue and React two days of a try and you will see for yourself which one is for you.

For newbies Iā€™d personally recommend going with Vue, butā€¦ what kind of a newbie are you? A programming newbie? Javascript newbie? Vue/React newbie?

1 Like

React might have a steeper learning curve but itā€™s just JS classes with a very well designed APIs and a mature ecosystem. Furthermore it has an official integration with Meteor.

I started learning Meteor using Blaze and when I felt comfortable with framework ( I suggest going through the Meteor Guide carefully) I started playing with React, that path worked well with me. I think Blaze is great for smaller size apps or if you want create a quick prototype but React really shines at managing the view layer complexity when the app gets larger.

I didnā€™t go Vue path because it seems like it wants to be both Blaze and React at the same time, and also due to the lack of official integration with Meteor although I think Akryum/vue-meteor is doing great in making this happen.

I hope that helps.

2 Likes

Hi, Iā€™ve made a few websites and javascript do dads like quizzes and sliders. So pretty new in general

Iā€™d also suggest React, itā€™s more mature on everything. So itā€™ll be easier to get articles, help and all the stuff you need.

I agree itā€™s easier to get help with React for the Meteor integration part. But most of the issues you can run into are for the ā€œVue + Blazeā€ use case which I wouldnā€™t personally bother with and you as a new guy, definitely wonā€™t have to. The rest of the integration is actually easier than with React, even if itā€™s not an official one.

For Vue itself, the difference isnā€™t that big anymore. Itā€™s currently a community with 50k Github stars, you can easily get help and there are new resources everyday, both learning materials and new plugins.

Think of the current Vue ecosystem as being about a year behind React. If React ecosystem a year ago was good enough to work with it (and it was already huge), so is Vue.

Also, you will need less help with Vue than with React, as often you will just understand things after reading the official documentation, because Vue is much more newbie friendly.

Give both Vue and React two days of a try and you will see for yourself which one is for you. You can even start with React. If after two days you feel confident enough to write an application, by all means go for it. If not, try Vue and you wonā€™t regret it.

1 Like

Can I restart this discussion.

Is React still the better choice or has Vue become the best front end framework to move to after using Blaze to kind of learn Meteor with? I love Blaze dont get me wrong but I would like to broaden my horizons and be able to do more. So I am debating React vs. Vue. Any thoughts?

canā€™t go wrong with both choices. Depends on what your team prefers. Personally i love react, because of its functional and fully js driven approach. Also the ecosystem is much larger.

Ok thanks, I know Meteor has had good support for React for a number of years, I just wasnt sure if maybe Vue had surpassed React as the more popular choice.

Probably a toss up at this point. For what itā€™s worth, I use React and feel zero urge to learn Vue. No regrets here.

Itā€™s definitely no longer true that Vue integration isnā€™t first-class. @akryum has done a fantastic job with this, and now itā€™s even officially in the guide: https://guide.meteor.com/vue.html.

The ecosystem now contains multiple options for everything you might need. Vuetify is great if youā€™re into Material Design.

Personally I never liked the React syntax and I found the boilerplate to be overly verbose. I absolutely loved converting my apps to Vue and still love using Vue every day. I also found the resulting apps to be smaller and more performant, see my comparison post here (although I was using the ViewModel wrapper to React so not a direct apples-apples comparison).

I definitely recommend Vue to both novice and experienced developers. Some people claim that Vue isnā€™t as ā€˜advancedā€™ as React, but Iā€™ve yet to find anything I couldnā€™t do quite easily in Vue, and most simple things are easier to do in Vue than in React (e.g. two-way binding). The Vue forums are also as good as this forum, there are some very helpful people there including me, but having said that the docs are so great that I never needed any help.

2 Likes

Iā€™m going to give React a chance, thanks for the input

Thereā€™s also Svelte! Itā€™s kind of like the good parts of Vue glued together with the good parts of React. Iā€™ve been living in React land for the last few years, but some of their purity around hooks, and the lack of a focus on practical tools in the name of that purity, has turned me off. Iā€™ve been looking hard at Svelte because of it.

1 Like

I like React for several reasons:

  1. It is very close to writing pure JS which is preferable if youā€™re developer (at least for me)
  2. It has a huge open source ecosystem
  3. It has huge adoption as well, facebook, netflix, walmart, uber, new york times, tesla, dropbox, airbnb atlassian, reddit, bbc, cloudflare and many more all written with react
  4. The core team (mostly at FB) is maintaining a small footprint (no routing, etc.) which allow them to innovate

It is not all rosey though, many abandoned packages, churn in the API, big bundle size, many routings options, slow virtual dom etc.

Going forward I think web components is starting to get some traction and I believe it is the future. Libraries like StencilJS (by the ionic team and was recently used by Apple for their web music player), litElement, ionic, vaadin and many more are producing web components under the hood. Why web components are good? because once you write your web component you can re-use it in any other framework or natively on the browser without framework. No more re-writing UI elements from scratch and less JS fatigue!

You should really give vue a try.

I fall in love with web components during the polymer v1/v2 era.
The ability to have a file containing html, css & js was for me the perfect way to go (easy to read, easy to write, perfect modularity)
I was quite disappointed When google moved polymer to lithtml, leaving existing users alone with their codebases.
So i switched to vue and felt at home again. No weird stuff to learn, everything seems quite natural (except 2 ways binding maybe :)) and no ties with big corps.
Furthermore, the integration between vue and meteor is a piece of cake thanks to akryum.

I keep trying to learn react but it always feels weird to me. And i donā€™t want to waste my time choosing between redux or other similar stuffs.

Svelte seems a good alternative too but i wonā€™t even look at it, javascript fatigue maybe. I just want to stick to a front end framework for more than 3 months :slight_smile:

2 Likes

Ive been working on getting my head around react for about 2 weeks and i think i like Vue more, it is just hard for me to get my head around how to refactor my existing Blaze app to use React components. And when i try to do the same thing using Vue i just kind of a get it.The link below helped a great deal in this respect. So Vue it is, for now anyway :slight_smile:

And for anyone who can help sponsor Akryum please do so, he does great work :slight_smile: