Hacker News new | comments | ask | show | jobs | submit login
Vue Passes React's Star Count on GitHub (twitter.com)
54 points by eastbayjake 8 months ago | hide | past | web | favorite | 45 comments

State management is more sane and easy to understand in vue. I'm build an extremely complex application with vue and pulling it off. The extra layers of complexity with react like having to use container components was too much cognitive load for me as a single developer building a very complex app that it was crash and burn for me. Vue's simple and clear approach wins for me over perhaps the power of a purely functional environment like react. I don't doubt that react is a powerful tool but the combined cognitive load of learning react and redux compared to vue and vuex was what caused me to go for vue, its clarity reduces cognitive load and enables you to focus much more on the problem domain than the learning curve.

>The extra layers of complexity with react like having to use container components was too much cognitive load for me

Wait, Vue doesn't prescribe the notion of a component tree with top level / parent components being containers for stateless feature agnostic granular components? In that context, the concept of a container component isn't too hard to digest, and you can see how all the modern component oriented frameworks work similarly.

So how does Vue differ in this respect? From my limited playing around with Vue, I'm pretty sure it prescribes to container components as aforementioned.

The question is if I want to learn one or the other which should I learn? Is React the better choice if I want to learn something which may also potenitally be useful when applying for new jobs?

There are a bunch of factors at play for getting jobs but which web frameworks you know is typically far down the list, at least for the decent jobs.

There are always bunch of factors. Its called 'context'.

If you ask a general question, there is no context. So the answer is simple - use Vue, not React.

Its way easier to on board and get you up and running, and mature enough that you can develop complex apps if you need that.

Other people usually tell 'it depends', but that is just excuse for not being able to draw a line.

For jobs Angular is best for corporate dev. React is a requirement for most new startups.

Things change quickly though.

Also the rate of breaking changes with react is pretty intense. While you can author react without a build tool, and I certainly am using webpack with vue myself, your same vue know how also works for spots where you may not have a build tool available, like freelancing updates to wordpress for people for side money. In those cases you're stuck sticking js into a CMS editor. But vue has you covered in all scenarios from the complex app with webpack and vuex to simple reactive code entered into a cms editor without the benefit of a build tool.

What breaking changes? React's API has been very stable. As of version 16 the entire core has been rewritten without breaking the API.

Can you elaborate on the rate of breaking change? As far as I'm aware React's API has been backwards compatible for many versions at this stage. There have been deprecations introduced with React 16 but they don't come into effect until 17 which seems pretty reasonable.

The rate of change is the biggest issue. If you are not working with react day to day you are at a big disadvanage.

Thats a great point about the CMS use case!

Regardless of the technicalities of the two frameworks, it’s good to have a community-backed alternative to stop a Facebook-owned product from completely dominating Web development.

The star count that should matter for me would be as follows:

1. The happiness and productivity level I have when perusing one over the other.

2. The actual application being shipped and the level of happiness and satisfaction that I get from the customers.

3. The number of features I can quickly ship on top of the application.

4. The ease of maintainability / support for the application. Easier to maintain = more stars in my world.

The feature set that both frameworks offer are pretty much on par, although I would say (IMHO) that Vue is far easier to understand and seems to be less complex, over all the other frameworks I have used (React, Angular, Ember, Knockout).

Productivity level and customer satisfaction are great metrics. There are successful businesses created in measuring customer satisfaction ( foresee, medallia etc ), but has anyone tried to or cracked measuring software productivity? Seems like an interesting and valuable space.

Edit: found one. This looks awesome https://www.gitprime.com

Good, hopefully that will encourage more newcomers to try Vue instead of React, I find Vue to be more elegant and easy to learn (and understand) than React.

Hopefully as the Vue community grows that will drive more resources to the development of cool projects like Weex either directly by having members of the community getting involved on the development of those projects, or indirectly by motivating companies to develop tools to cater a sizable market.

This was also discussed with the topic "Has Vue passed React yet?" yesterday. Discussion here: https://news.ycombinator.com/item?id=17316267

What conclusions can be drawn from this? If any?

Not many. I read that Vue is popular in China.

From a comment on Reddit:

> 1.6 million weekly downloads for React vs. 200k weekly downloads for Vue. I don't think the GitHub stars measure much. People are downloading react at approximately 8 times the rate of vue.

* https://www.npmjs.com/package/react

* https://www.npmjs.com/package/vue

Something to note though: This doesn't count the mirror registries in China. Also Vue devs may be more likely to use CDN links.

(I would still bet that React is used much more yet, just noting that the NPM comparison doesn't tell the whole story - nor does the stars comparison)

How many are for udemy related tutorials verus new projects? I bet the numbers are closer.

If X is the number of times that a Github repo star button has been clicked, minus the times that it has been un-clicked, then as of today X_vuejs > X_reactjs.

I'd be curious of what other metrics Github stars correlates with (# of applications in production, $ in revenue/investment, etc.), but I suppose if Vue ends up replacing React in clear popularity that some will point to this as a significant moment in that history.

1. People over-index on pointless measures.

JS ecosystem's trends are as stable and predictable as English weather.

That's a bit of an outdated meme.

There are lots of micro libraries because there's zero barrier to putting something on github and NPM, and there's a huge population of people wanting to practice and demonstrate their programming skill.

Many of those are irrelevant. Guess what? Me throwing a "cool-cucumber.js" library doesn't obligate anyone to learn or keep up with it.

It's like a random author publishing a random book. Who cares? you don't have to read it.

The rest is much more stable. There's a bit of fluff on the surface but underneath is not changing that much.

People fear things outside their comfort zone, and resist understanding them.

My father is afraid of git. My sister in law is afraid of open source software. And, that fear is reflected in their career choices and the quality of their code.

FUD; what major upheaval has been in the field since idk, Vue was released?

Major upheaval? I think big dotcoms efforts to forcefully push their vapourwares onto the dev community in attempt to gain developers' "mindshare" reaching a point when that becomes genuinely obnoxious.

Angular and React are getting bloated.

Vue is still one of the few frameworks that stays lean.

Easier learning curve by new developers trying to pick a front end framework.

Angular has always been bloated, but, how has React gotten bloated? Do explain.

I was also surprised by that comment. I just checked and React still has on the order of less than 30 methods/properties in its entire public API surface. Vue.js has quite a bit more.

If the parent means by byte count, React + ReactDOM is about 32.5KB, Vue is 30.3KB. Not a dramatic difference in byte bloat, either.

It's the ecosystem that makes it seem bloated. 32k vs 30k is nothing.

Wait, what? A large ecosystem of libraries that are not included by default but are available for you to use is somehow a bad thing (as "bloat" implies)?

I agree with you, but there's a joke about npm and leftpad in here somewhere.

Every new developer I know is picking React because that's what the jobs want.

"When a measure becomes a target, it ceases to be a good measure."

It's actually currently behind by 1 star https://i.imgur.com/IHBBZX7.png

The empire strikes back

Having used GitHub at several employers in the past, I have to say I never once noticed a project's "star count" before. Is this just me?

React and Vue are both great frameworks. React is a bit more adopted and there is a ton of better documentation and Q&A.

Does this gratify anyone's intellectual curiosity?

On a meta level, I find it interesting that a maintainer of a React has been checking on a vanity metric of a competing framework, and felt the need to put out a congratulatory statement the moment it surpassed React.

"Accidentally", hm.

To be fair, it's probably more likely that they saw this thread[1] yesterday at some point after React 'won' than that they were dutifully monitoring competing product's star counts.

[1] - https://news.ycombinator.com/item?id=17316267

Hi, Twitter OP checking in.

I was laying in bed at 2:30am after watching a TV show and then playing checkers with my wife, and was about to go to sleep but decided to check Twitter one last time (yeah I'm pretty addicted!)

I usually search for "reactjs i" ("i" to filter out blog spam) and this time I saw a few people commenting on this "star race". I knew both React and Vue are close to 100k, and I found it amusing that just as I opened the website tracker, it was leading by 2 (!) stars.

I knew this would be exciting to a lot of people (folks don't hesitate to tell me they prefer Vue to React every day, as I often seek out negative opinions to learn more). So I shared it with some of my personal thoughts on Vue (see follow-up tweets).

Not sure if you implied I had some sort of hidden agenda but you can just chat to me. :-)


Weird that your username is javascriptPhD and you haven’t heard of the two of the biggest JavaScript frameworks?

Maybe he meant ‘star count’ and ‘github’. Never assume ;)

Wouldn’t it also be puzzling if someone posting with that username on Hacker News doesn’t know what GitHub is?

Applications are open for YC Summer 2019

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