The comparison of syntaxes also sounds a bit shallow. There are legitimate arguments for why one syntax might better than another (e.g. using a full blown templating language in order to allow the compiler to optimize more aggressively, like in the case of svelte and angular, vs using the parent language for ease of learning, like is the case for react). IMHO, the syntax argument in this article merely boils down to opinion (i.e. "X syntax is ugly, mine looks nicer") and ignores other alternatives (hyperscript being one big omission in this space).
As far as what React actually gets wrong, I think that are certainly things that can be criticized about it. The author of Crank.js does one such exposition quite eloquently IMHO[1]. The author of Solid.js has written at length about what performance could look like if we left various preconceptions and tech debt behind. Etc. Unfortunately, I feel that this article doesn't showcase nearly as much substance as some of these other libraries in the same space.
Hello world may not require CRA, but not using CRA is often a huge mistake.
I'd like to learn more about bad times that have occurred due to failure to use CRA up front.
I've never had more dependency hell or build problems with any platform I've used compared to react/npm, which includes Java, .NET, Python, and PHP.
That's more time you get to spend on your actual app.
Writing code and configuring things leads to responsibilities and technical debt. So rely on well known, free and easy solutions until you can't. This is the way.
Somebody should've told that to pretty much every author of every React tutorial out there. They all start with `create-react-app` because it's "easier" this way.
> Imagine if I said Ruby's hello world was 1 million lines because I had started with Rails. That is what is happening here.
Incidentally, I remember visiting a code bootcamp a few years ago. Back then, they put people who never saw a line of code in their life in front of Sublime and showed them how to make web apps with Ruby on Rails. So this definitely happens, and the results are as expected.
They could have made React lighter and require no compilation. But instead they created a scaffold and fought complexity by adding more complexity.
React requires no compilation. (JSX requires compilation, but you can use React without JSX.)
> But instead they created a scaffold and fought complexity by adding more complexity.
CRA is a scaffold, but you don’t need to use CRA to use React.
While true I don’t know that I’ve ever seen a non-didactic codebase that uses react but not jsx.
Can anyone point to any recognizable projects or products that do so?
The majority of the dependencies pulled in on create-react-app is from the `react-scripts` which helps entirely with scaffolding. Saying that React is bloated because the scaffolding generation tool downloads too much code sounds crazy.
Show me what longwood looks like when you have a large complex application with several re-usable components, then compare it to react. It's very easy to create "clean" minimal libraries that do nothing more than hello world. The complexity comes from building actual applications.