Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Can someone explain what the differences are between React and Vue? Why is this a good idea and what benefits would it afford me as a React Native developer?


This page is a good start, it discusses the differences in detail:

https://vuejs.org/v2/guide/comparison.html

My personal experience wasn't that positive with React and then, the whole treatment of JSX as a first class citizen isn't really my style (although you're allowed to use React without involving JSX). Vue just feels more mature (personal opinion) and much, much easier to reason your code about, down the line in 6 months.

I've had super-complex apps that required so many nested components and I had no problem picking them up after about 6 months. With react, you have to be careful as it's easier to shoot yourself in the foot (personal opinion).

Also there's flux, redux which do require a bit of a learning curve if you want to architect your applications using them. Vue has something called Vuex which again, in my opinion is slightly friendlier to beginners.

I re-wrote my entire teaching syllabus for my programming course to use Vue instead of React, simply because it's much better to maintain Vue apps rather than React apps after 6 months, which is the most important value add for me in any framework.

Anyone can pick up a trendy new JS framework and hack a TODO app over the weekend these days, but if you're working on client side, or some serious projects that require long term commitment and maintenance, then you will realize it's more important to consider the framework's maintainability and code readability. For me, Vue triumphs React in this aspect easily.

So, there you go.


> I re-wrote my entire teaching syllabus for my programming course to use Vue instead of React, simply because it's much better to maintain Vue apps rather than React apps after 6 months, which is the most important value add for me in any framework.

Why do you find it harder to maintain React apps after 6 months?


One of the main reasons - JSX. Contrary to popular belief, JSX is all cool until you're in a situation where you need to maintain the app you wrote.

I know React can be written without JSX as well, but frustratingly most documents/resources online are all examples with JSX.

And then, this:

https://twitter.com/thomasfuchs/status/810885087214637057


That doesn't really clarify your position. JSX is a syntax, why in the world does that cause maintainability issues? And that tweet is a massive straw man. It's poorly spaced, poorly written and YEARS after React came out it shows that people still don't understand the difference between separation of concerns and separation of languages.


I find it the other way around actually. It's much easier for me to maintain JSX then using an html template engine.


On topic of vue, I've been working on one app for a few months now, and I'm having a hard time maintaining clear code, especially for nested components. I often resort to Vuex to share info between components, which might not be the best solution...

Also my app mainly revolves around a map vizualisation, and gmaps api is a pain to manage, bloating my code. Everything in my project works fine btw and I have great pleasure developing using Vue, but I'm sure I could be more elegant/efficient. Yet it's rather hard to find complete open vue projects online to check code organisation, so how can I get better on that aspect ?


Is your course online? If so, do you mind sharing a link?


Oh, actually, it's offline, but I plan to put them all in one place online on Medium. I've already started writing a piece about writing an E-Commerce engine:

https://medium.com/build-ideas/my-journey-of-writing-an-e-co...


Vue is more beginner friendly. It's easier to learn (particularly for people coming from Angular Js background). As a RN developer you won't be getting any benefits as such. If you're already comfortable with React and JSX then jumping to Vue-Native won't be of any use. But if you're purely a HTML, CSS, jQuery dev and want to get into mobile app dev, I guess Vue-Native will be quite easy to learn and build production ready apps.


Evan said he doesn't agree with everything but said it is one of the more reasonable discussions about the topic.

https://www.reddit.com/r/javascript/comments/8o781t/vuejs_or...


vue is similar to react+mobx.

react in itself has no two way data binding, vue has (well, it's one wayish, but let's not argue about specifics).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: