The Vue ecosystem is incredible, and I still haven't even tried Vue itself. First I got hooked by Vitest, which solved every problem I had with Jest. Then I made a new project with Vite, which solved all the problems I had with my toolchain. And I've yet to use Vuepress, but I look longingly at it every time I cringe about my home-rolled docs sites. The quality of all these tools, combined with my exasperation at the React ecosystem (and my opinion it's jumped the shark with RSC) convinced me to build my next frontend project with Vue.
What's interesting about Vite is that it's mostly a wrapper around a bunch of other tools, but it adds some intangible secret sauce to the developer experience that makes it enjoyable to use and configure. You don't need to think about ESBuild or Rollup; just focus on vite.config.ts, which (like the rest of the Vue ecosystem) follows a philosophy of instantiating a config object with a pluggable interface. This makes it easy and maintainable to add complexity, and also encourages people to contribute back to the ecosystem by shipping third-party plugins that do one thing well.
Another cultural trait of the Vue/Vite ecosystem is an emphasis on performance, and a willingness to accept complex PRs that shave off milliseconds of build time, as long as the changes don't compromise developer experience.
The best thing I can say about this software is that "it just works." And that's one of the hardest traits to foster in software developed by an increasingly disparate community of developers. I don't know how much of this is attributable to Evan You himself, but it certainly seems like much of it has been an outgrowth of his philosophy. Kudos to him and the developers that work on this software. Now, time to watch the interview...
> but it adds some intangible secret sauce to the developer experience that makes it enjoyable to use and configure.
This is definitely reflected in vue.
I originally started with vue 2 in no small part because the docs were absolutely stellar. Everything just made so much sense. People will complain about the reactivity model and "too much magic", but it explained how everything worked in just a few paragraphs and it was simple enough that whenever i did have any reactivity problems, it was simple enough to figure out. Everything was comprehensive without being slow and or bloated like Angular.
In contrast, things like react sometimes left me scratching my head. React's technology model is simple but it was stuff like linking to twitter threads in their docs[0] that made me think that while it was popular, it never had the premium feel vue did.
[0] It could've been redux, or react-redux or the redux-toolkit, which is another problem that basic things seem so fragmented in the react ecosystem and just makes things so frustrating sometimes.
Vite is a _fantastic_ piece of software that solves a huge part of front-end complexity. I've used it with both Vue and React and it worked perfectly for both.
I'm not a big fan of Vue because it feels like there's a lot of rough edges, although the experience is much better with Vue 3. React is much closer to vanilla JS/TS, and the tooling feels much more mature.
Vite is a lot of magic layered over rollup and esbuild. In a sane world, I could just use esbuild without any wrappers and it would be just as easy to use as vite. Instead of fixing esbuild, vite was born to glue rollup and esbuild together into a comprehensive solution.
My ideal stack that I can hopefully switch to in 2024 is esbuild (pending better tree shaking and worker support) and native node test (pending ts-node fixes or native TS in node)
I started with Vue then moved into React, and I do enjoy how much closer it feels to JS/TS. There's a few of areas where I think React is definitely simpler than it was with Vue 2.x and shudder at how I probably used to have to do things to truly do it "the Vue way" (and there are parts I miss like the built-in, easy slots).
However, I think Vue's dev tooling is way more developer friendly than React's. They probably end up mostly equivalent in how they let you find performance issues or debug states, but I've never been able to understand why React's devtooling just feels half-finished in comparison.
I guess Vue spoiled me a bunch in how approachable its UI was. It may be me misremembering, but I also remember it not hanging or erroring nearly as much as React's devtooling.
Consider Nuxt instead of Vuepress/Vitepress. If you want the built-in theme in Vitepress, it's great, but if you want to make your own, using Nuxt with the Content plugin is probably better. I found the strong separation between theme and content to be too great, and if I have a docs SSG site using Vitepress and a webapp SSR site using Nuxt, I can't share themes easily anyway.
At least that was my conclusion starting with Vitepress, and ending up with Nuxt 3.
I admire the guy because he went to create the framework that I would have created, if I was as smart.
It's fast and easy to use if you know what you are doing. Especially awesome with Vite. To hell with the flux pattern and all related borderline religious crap
Evan history is really inspiring, he is certainly living the dream of living of open source but it's well deserved after all the hard work he put into Vue.
hard work, talent and above all, passion & dedication. I can imagine Meta/Google etc offerring him a lot more $$$ than he is earning at the moment. it takes real passion to ignore that and continue on the "road less travelled"
The 900 pound gorilla in this space is react and vue seems to be fatally attracted to that model. For my taste and needs alpine.js embodies the true vue :-)
What's interesting about Vite is that it's mostly a wrapper around a bunch of other tools, but it adds some intangible secret sauce to the developer experience that makes it enjoyable to use and configure. You don't need to think about ESBuild or Rollup; just focus on vite.config.ts, which (like the rest of the Vue ecosystem) follows a philosophy of instantiating a config object with a pluggable interface. This makes it easy and maintainable to add complexity, and also encourages people to contribute back to the ecosystem by shipping third-party plugins that do one thing well.
Another cultural trait of the Vue/Vite ecosystem is an emphasis on performance, and a willingness to accept complex PRs that shave off milliseconds of build time, as long as the changes don't compromise developer experience.
The best thing I can say about this software is that "it just works." And that's one of the hardest traits to foster in software developed by an increasingly disparate community of developers. I don't know how much of this is attributable to Evan You himself, but it certainly seems like much of it has been an outgrowth of his philosophy. Kudos to him and the developers that work on this software. Now, time to watch the interview...