Vue vs React: The bigger picture
Tags: vue, react, javascript
Published: 2020-12-07 20:02:48

---
title: Vue vs React: The bigger picture
published: true
description: Today I want to cover two mega-popular frameworks, Vue vs React, and share what I believe the fundamental differences are.
tags: vue, react, javascript
---

<p><span style="font-weight: 400;">One of the things we strive to do here at Tidelift is help people make informed decisions about which packages will work best for their projects. Today I want to cover two mega-popular frameworks, Vue and React, and share what I believe the fundamental differences are.</span></p>

<p><span style="font-weight: 400;">Let’s get something straight right off the bat: both the Vue and React frameworks are excellent, and you’d be making the right choice using either of them. Both communities are fantastic, both projects are widely used, and there’s lots of support around both Vue and React.</span></p>
<p><span style="font-weight: 400;">I won’t really discuss too much around the technical specifics of either framework, since that discussion misses the bigger picture of the main differences.</span></p>
<h2><span style="font-weight: 400;">React is for the scrupulous</span></h2>
<p><span style="font-weight: 400;">Vue and React have audiences that are fairly distinct. A lot of React development is done by full-time Facebook engineers, with additional help from volunteers. Of course, there’s also the full set of necessary ecosystem packages </span><a href="/who-supports-react-that-depends-on-what-you-mean" rel="noopener" target="_blank"><span style="font-weight: 400;">maintained by the greater community</span></a><span style="font-weight: 400;">. React was originally developed in 2011 as a high-performance framework used by Facebook engineers to power Facebook’s messenger.com.&nbsp;</span></p>
<p><span style="font-weight: 400;">They found it to be incredibly effective, so in a gesture of good faith, Facebook blessed the open source community with React in 2013 (and we shall be forever grateful 🙏🏽). Clearly, there are now far more consumers of React than just Facebook engineers, but we cannot forget that they were the original audience, and it shows in the sheer amount of knowledge needed to be productive.</span></p>
<p><span style="font-weight: 400;">Let’s not kid ourselves—there’s a fairly high bar to become an engineer at Facebook, and those technical interviews are no joke. React is a pretty technical framework. To realize its full strength, you must be acutely aware of the JavaScript runtime and how doing slightly different things within your components can yield vastly different results, often at huge performance costs. The classic example is </span><a href="https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-bind.md" rel="noopener" target="_blank"><span style="font-weight: 400;">writing an arrow function in a component’s render method</span></a><span style="font-weight: 400;">.</span></p>
<p><span style="font-weight: 400;">I don’t think stuff like that is very obvious. Once someone tells you, sure, you’ll remember, but otherwise you might have to bang your head against a wall for awhile before you figure it out. Don’t get me wrong—I think that </span><strong>absolutely anyone</strong><span style="font-weight: 400;"> can master React, but it’s a question of whether or not they actually care to become deeply intimate with JavaScript. I’m not so certain that most engineers do, really, but many Facebook engineers (and maybe you too!) are down with the cause.</span></p>
<h2><span style="font-weight: 400;">Vue is for the pragmatic</span></h2>
<p><span style="font-weight: 400;">Vue, on the other hand, is developed entirely by a team of volunteers for the general community at large.</span></p>
<p><span style="font-weight: 400;">Debuting in 2014, Vue had one mission—be only the good parts of AngularJS. I think that was largely successful, but what really came of that was a great developer experience. Writing Vue is just plain </span><i><span style="font-weight: 400;">easy</span></i><span style="font-weight: 400;">. I’d almost call it boring. But that’s a great thing! You can get in, do what you need to do, and get out. You’re not really worried about performance or optimization since most of that is taken care of for you by Vue, and it’s still pretty darn fast!</span></p>
<p><span style="font-weight: 400;">With Vue, you’re not (in general) getting as much fine-grained control over your component as you would with React. But if you really want to, Vue will let you implement your own render functions.</span></p>
<p><span style="font-weight: 400;">Since its very beginnings, the Vue community has focused on honing that developer experience. Even for an inexperienced developer, it's dead simple to hit the ground running with effective contributions on Vue projects.&nbsp;</span></p>
<p><span style="font-weight: 400;">While that’s partially due to the framework itself, we’ve really got to give a shoutout to the documentation. Vue has some of the most stellar documentation that I’ve ever seen for an open source project. The documentation is incredibly well maintained, and any beginner could get a majority of the knowledge that they’d need to be effective just from the Vue website.&nbsp;</span></p>
<p><span style="font-weight: 400;">By comparison, the React website is pretty straightforward about its docs. The docs homepage explains that the documentation might be a little too technical and fast-paced, and it includes a link to a much more beginner-friendly tutorial off-site.&nbsp;</span></p>
<h2><span style="font-weight: 400;">The bottom line</span></h2>
<p><span style="font-weight: 400;">It all boils down to how much dedication you’re willing to have when working with one of these frameworks. Vue is easier than React, both to learn and to write, but React will let you squeeze every extra ounce of performance out of your app. With a team of dedicated developers, React will deliver that blazing fast UI that’s sure to delight your users, but developers new to frontend will become effective much more quickly if they’re diving into a Vue codebase.</span></p>
<p><span style="font-weight: 400;">Which framework is right for you and your team?</span></p>