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?
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.
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.
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.
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.
> 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.
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.
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.
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.
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.
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)?
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.
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.
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. :-)