TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Vue.js vs. React: what happened in 2017

285 pointsby jetterover 7 years ago

33 comments

wjosseyover 7 years ago
I’m the founder writing code (but not the only technical person) for my three person startup. In October I started migrating our MVP from server side templates to Vue, given we had direction and traction on a product line that justified the time investment. It’s turned out to be a great decision (although likely one that could have been made with react as the choice as well).<p>My “success story” is how Vue helped me to massively improve our user experience in low bandwidth or high latency environments. Our startup is trying to reinvent the ways that companies approach their review process, and one of the things we do is run a workshop on delivering actionable feedback during the review cycle. We have users log into our app during the workshop, and this often happens in conference rooms over congested WiFi. Our MVP used turbolinks, so it felt generally “snappy” during normal use, but could feel sluggish if moderate latency was introduced (such as a congested router).<p>Since I completed the rewrite to Vue (which took only about two weeks because of how simple it was to pick up, even for a non frontend person like myself), we’ve had multiple launches that both would have likely bombed had we not done the work to move to something less dependent on a tradition client -&gt; server -&gt; client response cycle to render the next “page”.<p>Either way, I’ve become an advocate for vue. I love single file components, love the documentation, and am very happy with the community libraries. All in all, I’m very bullish for Vue in 2018 as a happy new users.
评论 #16000623 未加载
评论 #16000607 未加载
评论 #16014365 未加载
评论 #16000613 未加载
badbananaover 7 years ago
Having used both React (with Typescript and Redux) and the latest Vue (with es6 and Vuex) I prefer React, and I don&#x27;t even use React Native.<p>Vue is better for onboarding people more in tune with &quot;classic&quot; html + js development; and that&#x27;s where the advantages end as far as I&#x27;m concerned. This might be a big win for some people.<p>The way I reason about it is that React is simple, Vue is easy. When you take into account Vue&#x27;s templating language, React&#x27;s api is small in comparison. A beginner won&#x27;t know how to do some common use cases reading React&#x27;s docs, when Vue might have a something built-in in its templating language (e.g. slots, or the component tag for dynamic components).<p>Slightly annoyed with Vuex too because of its slightly leaky abstraction. You have to remember to setup the properties you mutate so the reactivity will detect a change; and also remember not use array indexes arrays cause it can&#x27;t detect changes otherwise. The array index thing will be fixed in the next version when they drop support for some older IE. Using Typescript would probably help a bit here, although Typescript being useless for checking Vue templates really feels like a huge chunk of its value is wasted.<p>Typescript is not currently available in the official blessed boilerplate which greatly affects its uptake in the Vue community.<p>Anyway, if you already know React, there is zero advantage in investing time in Vue.
评论 #16001676 未加载
评论 #16002198 未加载
评论 #16002108 未加载
评论 #16001906 未加载
lsdafjklsdover 7 years ago
I really don&#x27;t get the love around vue... I always read the glowing sentiment and go, &quot;Ok, I&#x27;m missing something, let me go back to the vue.js docs and see what&#x27;s good&quot;<p>Things that are a deal breaker for me:<p>Template language... You can call it &#x27;separation of concerns&#x27; all you want, but just let me generate templates using the language I already know, JSX is great<p>State management... I cut my teeth with Ember professionally for a few years, and really loved it up until I built a data intensive app. Having state spread across different controllers is great when you have many different routes and pages, but if one page turns in to a photoshop like app, controllers make a terrible state management tool. It doesn&#x27;t seem overly complicated to me to use redux along with react-redux&#x27;s connect function to connect regular functions returning JSX to your state object. Looking at Vue.js, it seems like I need to learn Ember-lite + Angular (custom directives).
评论 #16001409 未加载
评论 #16001553 未加载
评论 #16002855 未加载
git-pullover 7 years ago
I think both of them are awesome and have great communities. Especially seeing as webpack has stabilized.<p>If you&#x27;re a startup, it&#x27;s tempting for many founders to go in headfirst with a Vue or React. In my opinion, it&#x27;s rarely necessary, and in the end a lot of the stuff has to be thrown out if underlying foundations change. I see it as web development&#x27;s version of premature optimization.<p>On the other hand, when I kept all my work in django templates, erb, blade, etc. and just script JS by hand, there&#x27;s less of a penalty when the data flow changes. When I was using a JS framework, the refactoring was so painful I seriously considered throwing the whole thing out and starting from scratch. Heh, I&#x27;d have been better off not buying in so early on.<p>As a stop-gap, I&#x27;m using pjax. (<a href="https:&#x2F;&#x2F;github.com&#x2F;defunkt&#x2F;jquery-pjax" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;defunkt&#x2F;jquery-pjax</a>)<p>My plan is after stuff is solid and in production and the product&#x2F;service&#x2F;business is moving forward, taking an incremental approach to moving to vue&#x2F;react&#x2F;etc.<p>P.S. kudos to react for removing the patent stuff in v16.
评论 #16001355 未加载
评论 #16002569 未加载
dustingetzover 7 years ago
I write ClojureScript<p>A good indicator of if a technology is going to explode, is if emerging language users are excited about it, as good ideas tend to trickle down from the more advanced&#x2F;research-y ecosystems which aren&#x27;t as constrained by legacy. So for example React was built by a user of OCaml.<p>ClojureScript early adopted React.js through the Om project in 2013 and there is a growing number of competing React adapters, Clojure rewrites etc. I first saw virtual-dom in ClojureScript in 2012 (eight months before React came out).<p>Number of ClojureScript projects with traction that are based on vue? Zero, that I am aware of.
评论 #16001424 未加载
评论 #16000920 未加载
评论 #16001401 未加载
评论 #16001207 未加载
santorivover 7 years ago
What I find most interesting in these results is the satisfaction percentage i.e. (Used it before and would use again) &#x2F; (Used it before and would use again + Used before and would not use again).<p>- In 2016:<p>React - 91% satisfaction<p>Vue - 91% satisfaction<p>Angular 2 - 65% satisfaction<p>No framework - 65% satisfaction<p>Ember - 50% satisfaction<p>Angular - 40% satisfaction<p>Backbone - 31% satisfaction<p>- In 2017:<p>React - 93% satisfaction<p>Vue - 91% satisfaction<p>Angular 2 - 66% satisfaction<p>No framework - 65% satisfaction<p>Aurelia - 56% satisfaction<p>Polymer - 53% satisfaction<p>Ember - 41% satisfaction<p>Angular - 33% satisfaction<p>Backbone - 23% satisfaction<p>It&#x27;s especially interesting that many of the frameworks have a lower satisfaction percentage than using &quot;no framework&quot;. Of course this could be largely attributed to who is using no framework. I have encountered a minority of developers (usually backend devs) who think front-end frameworks are nonsense and prefer to just write a bunch of jQuery. Also, if you are working on Wordpress sites, then frameworks are often not necessary.<p>I&#x27;ve written production code in some of these frameworks (Backbone, Angular 1, Ember, and React) and I would have to say these results are more or less consistent with my experience. I love React and don&#x27;t feel the need to try anything else.
评论 #16002831 未加载
评论 #16005398 未加载
评论 #16003941 未加载
platzover 7 years ago
OP predicts with absolute certainty vue &quot;will become dominant&quot; next year many times.<p>Also OP has skin in the game to justify to his team that vue was the correct choice.<p>Nice as an opinion piece but too many red flags to be considered fair and unbiased.
评论 #16001059 未加载
评论 #16000841 未加载
dmitriidover 7 years ago
The simple answer is in reading the chart. Look at &quot;I&#x27;ve USED it before, and WOULD use it again&quot;.<p>React isn&#x27;t just popular. It also consistently provides good developer experience. You have to compete not only against React&#x27;s popularity, but also against <i>that</i>.<p>React:<p>- Used it, would use again: 14k<p>- Used it, would <i>not</i> use it again: 1k (7%)<p>Vue:<p>- Used it, would use again: 4.6k<p>- Used it, would <i>not</i> use it again: 454 (9.8%)<p>That ~3% difference in people who tried it, and didn&#x27;t like it could be the difference between make it and break it when coming up against React. &quot;I&#x27;ve heard about it, and I&#x27;m <i>not</i> interested&quot; is another important metric.<p>---<p>Personal take:<p>Things I personally don&#x27;t like in Vue:<p>- String-based programming so prevalent these days.<p>JSX is a thin layer on top of regular Javascript&#x2F;Typescript. Where as Vue is often this:<p><pre><code> &lt;li v-for=&quot;todo in todos&quot;&gt; </code></pre> Really?<p>- It breaks Javascript and how it works:<p><pre><code> var app5 = new Vue({ el: &#x27;#app-5&#x27;, data: { message: &#x27;Hello Vue.js!&#x27; }, methods: { reverseMessage: function () { this.message = this.message.split(&#x27;&#x27;).reverse().join(&#x27;&#x27;) } } }) </code></pre> There&#x27;s no chance in hell that `this.message` exists on app5. And yet, there it is. And then data becomes $data and a lot of other weird stuff such as computed properties being also hoisted up to the top-level object etc. etc. etc.
评论 #16004545 未加载
评论 #16001887 未加载
chvidover 7 years ago
React IMHO is good enough that I don&#x27;t want to change framework&#x2F;basic frontend technology again.
评论 #16000998 未加载
ng12over 7 years ago
Do Vue templates play nicely with Typescript? That&#x27;s something I love about JSX -- &quot;it&#x27;s just JavaScript&quot; is an incredibly sublime feature. I know you can use JSX with Vue but I&#x27;m skeptical since it&#x27;s a first-order feature with React.
评论 #16000585 未加载
评论 #16000564 未加载
d357r0y3rover 7 years ago
React + TypeScript is simply too good to not use for me. The idea of going back to unsafe templates is just not acceptable.
hbhakhraover 7 years ago
Good assessment. To summarize the argument, Vue.js is just as good and some would argue better than React for web development, but the React ecosystem really puts it over the top, especially React Native.
评论 #16002096 未加载
评论 #16003579 未加载
sarahcrossover 7 years ago
React changing their license probably saved them. My web dev office was going to transition from them until they changed it.
评论 #16001619 未加载
评论 #16002261 未加载
throwaway0255over 7 years ago
One thing I&#x27;m noticing about SPAs is that they&#x27;re often slower to load, but the slowness and loading animations gives me a higher perception of the quality of the application.<p>The same application loading and doing things instantly as server-side templates feels comparatively cheap and un-modern.<p>What is wrong with me?
jordacheover 7 years ago
Coming from Angular, I&#x27;m biased towards entities declared in the form of a class. It&#x27;s a style that is easy to manage and familiar to most programmers.<p>Vue currently seems to be a mix bag of styles. My take away from the little that I dabbled: - You need the vue-class-component dependency in order to declare class based components, otherwise, you&#x27;re stuck with the awkward object literal notation - For state management using Vuex. You are are limited to the object literal style to declare your state store. Very awkward to work with.<p>Yes to get some data bound to a template and rendered out, Vue takes very little amount of code. However that is not a meaningful benefit to me. I feel Angular&#x27;s complete framework and class based convention is much more suitable for a team environment.
评论 #16002886 未加载
simonhampover 7 years ago
I personally prefer Vue because it is approachable and easy to adopt. I believe that if Vue embraces PWAs in a pragmatic way that performs and is accessible, it will be top for a while.<p>At the moment, PWA is not a viable replacement for some cases, but it’s about to explode to everyone.
fictionfutureover 7 years ago
I see a lot of commits from the Vue team into the core repo that are meant to support use in native.<p>Likely, we can expect something comprehensive for native this year.<p>I also believe it&#x27;s a smart strategy to avoid Facebook codebases because they are all meant to somehow benefit FB in some (usually dubious) way.<p>Also the Vue approach is 1000% cleaner in practice than React, just doesn&#x27;t have the bandwagon effect going for it
评论 #16000510 未加载
评论 #16001447 未加载
kumarvvrover 7 years ago
I have spent quite a bit time into learning Angular (4&#x2F;5). I am new to front-end dev, and found that the structured approach of Angular more appealing than React.<p>Should I continue with Angular or move on to React?<p>My goal is to create a data-driven website, with expressJS &amp; PostgreSQL backend. Not very complicated, but not simple either.
评论 #16002655 未加载
apatheticonionover 7 years ago
Having used all of the big three. Am I the only one who likes and prefers Angular?
评论 #16001811 未加载
评论 #16001702 未加载
hyperclusterover 7 years ago
I like the simplicity of React though I don&#x27;t mind the Vue templating language that much either. Sometimes I actually prefer Vue templates because with React you often see components where it&#x27;s not so clear how the rendered output will look like.
cyberferretover 7 years ago
I evaluated both earlier in the year, and to me (spending the last 30 years developing software), Vue just seemed to fit my mindset better. I just couldn&#x27;t &quot;get&quot; React, no matter how many times I tried.<p>I guess it is just how my &quot;programming mind&quot; thinks about problems. I am sure developers who approach problems differently may enjoy React more, but for me, I guess I am a lot more old fashioned and &#x27;structured&#x27; in the way I see things.
dbrgnover 7 years ago
Elm would deserve a mention too. One of the very few sane frontend development approaches.
guru4consultingover 7 years ago
Any suggestion for the below use case? Whether to use Vue or React?<p>- I develop APIs and plan to hire freelancers to do the web&#x2F;mobile clients (so, higher availability of skills in the market is important to me)<p>- I have a web designer developing the UI with just plain html&#x2F;css. And this is going thru multiple iterations and the web-designer is able to make all the changes (cheaper because this is just a web-designer, not a programmer).<p>- Once, the UI is finalized (and fully designed with html&#x2F;css), I plan to hire a Javascript programmer to do the SPA front-end (so, being able to use existing plain html&#x2F;css templates with minimal change is a big benefit).<p>- I do not plan to create native mobile client, just a hybrid app based on webkit. If the web app was developed with React, then will it benefit the mobile clients to be developed with React Native? or, does it matter at all? If Vue.js was used for SPA webapp, what do the Vue programmers use for mobile client? I assume React guys might naturally use React Native.
perlgeekover 7 years ago
Isn&#x27;t it funny how you can read different things into the same data?<p>&gt; So, 1 year passed, and Vue.js is clearly the leader in &quot;would like to learn&quot; by a huge margin<p>For me, the main takeaway of the newer chart is &quot;React is the clear winner in the &#x27;Happy Customer&#x27; category&quot;.<p>For the record, I never used any of the frameworks, though I think I will, some day.
toddmoreyover 7 years ago
Just to set record clear, vue components can be written in pure JS or using JSX, in addition to the template files.
评论 #16008639 未加载
diminishover 7 years ago
I truly love Vue and hope it evolves and spreads everywhere.
vitroover 7 years ago
The reason I am not even remotely considering React is the Facebook itself and what this company represents - exploiting people&#x27;s minds and emotions to fulfill their business plan. I can&#x27;t help it but if I would use react, I would not be able to get this feeling out of my mind, so if there is viable alternative - vue.js, I am definitely going that way.<p>Something similar like using cosmetics that have been tested on animals, if I can choose, I choose something else.<p>I know this should be more of a technical discussion, just I can&#x27;t help but think of this aspect when it comes to React.
qdoopover 7 years ago
Which is faster? Vue; Which is more modular? Vue; Which is simpler to grasp and reason about? Vue; Build in CSS support? Vue;<p>P.S. Vue contains React. You could in principle write your components React style.
ausjkeover 7 years ago
vuejs does gain strong interests from large companies such as alibaba,baidu and tencent, the three are called BATs in China similar(or larger) to amazon, google and facebook in US.<p>One of the BAT should acquire Vue.js to make it a strong player for the long run, that may happen in 2018 I hope.<p>Both laravel and vue.js (vue.js is the default frontend choice and embedded in Laravel) are from one core developer, I liked them, but am concerned about the bus factor. I eventually choose nodejs+react because of that.
faitswulffover 7 years ago
It&#x27;s a shame there&#x27;s no first party supported Vue native library, but I suppose that&#x27;s too much even for Evan.
评论 #16001378 未加载
评论 #16001787 未加载
homakovover 7 years ago
I had trouble getting started with React but Vue was a breeze. Better for newbies imo.
baybal2over 7 years ago
I&#x27;m afraid React is eventually turning into Angular. At some point, I felt that Angular is somebody&#x27;s PhD work exploring arcane computer science concepts, not a piece of software for practical use.<p>React gets closer to that with each year.
评论 #16000591 未加载
评论 #16000912 未加载
评论 #16000551 未加载
评论 #16000974 未加载
评论 #16000707 未加载
buamaharamiover 7 years ago
Why in earth people would like to to use anything from facebook in they business ? Why do you trust they licensing ?<p>I would choose riotjs or vuejs anyday before any facebook&#x27;s code in my apps.
评论 #16001004 未加载
评论 #16001636 未加载