kentcdodds / ama

Ask me anything!
https://github.com/kentcdodds/ama/issues?q=is%3Aissue+is%3Aclosed
685 stars 75 forks source link

React vs. Vue #414

Closed nolros closed 6 years ago

nolros commented 6 years ago

Kent,

If you use backend frameworks like backend MVC frameworks is Rails, Django, Laravel, etc. Angular is an overkill and often requires a fair amount of configuration of refactoring. Less so with AngularJS.

If you need a JS framework that is more focused on V you have many options but React and Vue seem to be the two main choices.

My question is, which of the two would be the road to go for a small shop coding websites, mobile and apps. I know it depends on a million variables so not looking for which is best, because React is a better framework, but more on the freelancer developer, startup or small shop.

Most JS developers say React but Vue is a great framework. Honestly I personally enjoy Vue more simply because it is easy to code and modular in how I build code. It is the same reason I use Laravel over some of the other frameworks. The elitist will give you a million valid reasons why it is not as good as Y, but it takes my a fraction of the time to get the same thing done. Example, to setup Laravel, Vue ,Tailwind and WebPack basic skeleton is hours vs. days.

Vue feels a lot like AngularJS but obviously not as advanced / disciplined. However, I really like the modular HTML, JS, & CSS approach so I can build all these frontend modules / components. React doesn’t seem to be able to do this and seems to be more enterprise level / team JS.

Any thoughts? I know it is a loaded question … lol but when you read many of the articles the discussions are theoretical e.g. once you make the transition from a startup to a bigger company Vue wont scale. My attitude is if that happens even if I written in React I’m still most likely going to be doing a rewrite and at that point I have a different set of problems.

Any thoughts?

P.S. why does WebPack hate me?

detrohutt commented 6 years ago

I think this tweet covers your question (pasted below for convenience)

You could build that with Vue or React. Neither choice would be wrong. I suggest a hack week for your engineers. Build or rebuild two simple internal tools. That'll help you make a more informed decision about which you feel you'll be more productive with.

So the overall answer is "whatever your team feels more productive with". Hope this is what you were looking for. :)

kentcdodds commented 6 years ago

I would add that two of the biggest reasons I prefer React over Vue are:

  1. Because once you learn JSX, the rest is just JavaScript and the more you use React the better you get at JavaScript. Also integrating other packages with React is generally very easy and straightforward compared to a framework with a domain specific templating language. (Note: you can use Vue with JSX, but that's kinda going against the grain of the community).
  2. The community is HUGE. Like WAY bigger than the Vue community. You'll find more support, more libraries, and more co-workers when working with React. I realize that Vue's GitHub star count just surpassed React's and that's super cool, but star count doesn't accurately reflect usage. React is still WAY more widely used that Vue, and I don't expect that will ever change.

Good luck!

Thanks @detrohutt!