I definitely prefer Vue over React and I believe it’s still a better version of it but this composition api bullshit has really caused a lot of people to question the whole thing.
And by people I mean the actual developers using it in production, not the dozens of charlatans hyping the latest change or addition with millions of demonstrations at the latest conference of how composition api hello world is somehow better than what already exists.
Alienating the actual fans and users alike is a poor strategy.
——
As for the build tooling and dead ecosystem and poor components yes I absolutely agree, it’s a bit of a dumpster fire. There’s certainly good libraries and components but in comparison it’s miles away from react.
One of the things I strongly dislike about Vue is the fact it’s prototype is just freely floating around everywhere and all the plugins just attach garbage to it and then get users to do the same.
A strong lack of software engineering practices and competence means that on average many Vue libraries are absolutely horrible to use with equally awful code.
In many cases it’s been better so simply have a quick scan of what a library or component is doing and then write a better version yourself - this time with actual unit tests and linted code.
For example, find some library that does something fancy with the DOM like a tooltip or some animation or some wrapper for a popular library.
The process is like this:
> Google for it and find 1 or 2 results
> One was last updated in 2017 and has “Vue2” in the package name (poor)
> the other mostly works and has a few hundred GitHub stars simply because it’s the only one
> use it and find some edge case that makes it useless
> also discover it doesn’t use slots (the actual way to do “composition”, much like reacts child render props to allow components to be inside others) meaning it’s now fully useless for your use case
> write your own version, based roughly on the code in the library - and read the unit tests to make sure you account for anything else you might not have thought about (if it even had any tests, most don’t because it was written by someone that barely knew what they was doing or is the kind of person who hates testing (because then they don’t have to be accountable) you have to argue with over the value of unit tests)
> job done, many days or weeks later
This poor ecosystem seems to go hand in hand with a vocal minority of Vue users that seem hopeless at trying to debug any of their issues or self inflicted bugs.