@mojombo “It’s because both of these graphs are useless.”
Still, I do agree with @maxhodges points that Vue seems like a better match if already reaching for a “dumbed down database” like Prisma. Vue is not dumbed down, though, but it is more of the “more building less configuring” principle.
If I may pollute this Prisma subscriptions thread with another long subjective Vue vs. React opinion, sorry :
I know these decisions are made so no need to read the following really. Just food for thoughts.
TL;DR: Vue is more suited for Redwood if ignoring the popularity aspect (which isn’t unimportant).
I’ve worked almost exclusively with Vue and React about 50/50 for the 4 past years. Initiating new projects and jumping into existing ones. I always reach for Vue unless the client values popularity more. Put simply; Vue does everything you need without getting in the way. Fewer hiccups, less learning churn (React projects are like fast-evolving bacteria without a blueprint). In Vue, you build features, not configuring.
I’ve tried building snippets of how to do X feature in Vue or React side-by-side comparison to illustrate the benefits of Vue over React. But the point doesn’t come across that well. So I’ll just insert my own overreaching one-sided conclusions based on experience and take that for what you wish.
Every piece of Vue can be argued for, the templating, the .vue file components, the ecosystem, naming conventions, documentation, typescript support (from 3.0 it works across Vue + Vuex). You can use just the Vue view layer or opt-in for the interconnected state management, routing, and (maybe relevant here) well-crafted boilerplates with defaults that can be overridden without needing to eject (still get upstream updates). The ecosystem is opinionated and made specifically for Vue and therefore works really well. That said, all ecosystem packages are easily opt-in Vue.use(Vuex)
. Vuex alone is incredibly easy/sensible and reliable at scale. Anything I can do in React I can do in Vue. I am always quicker up and running, less time managing builds, and writing fewer tests with more confidence. When React projects grow, I move slower, whereas Vue lets me move fast at any stage. From project initiation to improving, tailoring, and being at scale.
In React, I found that there is a great effort to maintain a system to keep control. Also, since React is so thin and unopinionated, projects look very different because of the need to configure and sort of build mini-frameworks into React. I typically see way more packages in React projects, which is less necessary with Vue because it gives you atomic interfaces to widespread operations. Here is one example: i.e.:
<input v-model="name" @keyup.enter.prevent="submit()" />
that’s two-way data-binding (can also use one-way binding if needing to handle something in-between), it listens for the enter keypress across browsers and submits. Doing this in React would require significantly more code and tests to get it stable. Since form handling is so frequent (especially CRUD sites like redwood), you usually reach for a form library in React (many popular ones). You then integrate it with your state management, and ripple effects start to rise. I think this detail reflects many similar cases. React is lower level, and since you need higher-level operations all the time, you either build them yourself or reach for libs, and would you prefer a community package over a tailor-made framework plugin?
The most important argument for Vue is perhaps its philosophy; it’s a framework + tailor ecosystem for developing complete websites. Whereas React is just a thin view layer made to be inserted into facebooks already thick stack. Again, you can use Vue as a view layer also, so the Vue definition is well suited; “progressive framework.”
If needing a bigger community, more devs to hire, more packages, or wanting to inject a really thin view layer in a big and complicated stack, React may be the better. But except for the argument “more popular,” I think the other points are pretty weak as Vue also is an extensive, stable, and popular framework.
All this said- I’m a bit out of bounds to be recommending Vue instead of React. These decisions have already been made. I just wanted to give my thoughts on this