You could read the entire source code quite easily. Debugging was easy. It was so simple you could write it yourself in fact.
A `View/Component` had a `model` property and a `render` function and that was essentially it. Views used data binding, so that you get nice fine-grained reactivity (in React this is a nightmare). You have full control of the performance too. I badly miss being able to manually manipulate HTML to get animations how I would like.
I never liked JSX either. I'd prefer to just use JSON. In React, I would always just pass JSON as a single prop like so: `
It's just way too hard to understand. You have to keep so many caveats and internals knowledge in your head to make something performant. And it's impossible to debug or step-through. It's simply not JavaScript. I remeber when people liked it because it's "just a library". It's really not. It's more comparable to an operating system, let alone a framework.
I think myself and others have just bought into it for so long that it feels impossible to leave. And things like write-once run-anywhere with React Native felt so appealing. And then there's Next.js and friends.
Was Backbone + jQuery really so bad? Am I forgetting anything?
I worked on a Backbone app for multiple years. Integrated numerous plugins to try to fill various use cases (view lifecycles, event processing, computed data, UI composition). It was a _royal_ pain.
React solved _all_ those pain points.
React has its own tradeoffs, but I get to focus on much more meaningful decisions in the app, and have _vastly_ more flexibility in how I build it.