July 25th, 2024

The self-fulfilling prophecy of React

Josh Collinsworth critiques React's dominance in front-end development, arguing it lags behind competitors like Vue and Svelte in performance and ease of use, urging developers to consider alternatives.

Read original articleLink Icon
The self-fulfilling prophecy of React

In a blog post, Josh Collinsworth critiques the widespread reliance on React in front-end development, arguing that its popularity does not equate to superiority. He acknowledges React's historical significance in shaping modern frameworks but contends that it has not kept pace with competitors like Vue, Svelte, and Solid in terms of performance, learning curve, and developer satisfaction. Collinsworth points out that while React is often the default choice for many developers, it may not be the best option for new projects due to its larger bundle size, slower performance, and complex learning requirements associated with JSX. He emphasizes that other frameworks often outperform React in various metrics, including speed and ease of use.

Collinsworth also discusses the implications of community size, suggesting that a larger community does not necessarily enhance the quality of a framework. He notes that while React has a significant backing from Facebook, other frameworks like Angular and Vue also have strong financial support. Despite React's dominance in job postings, he warns that choosing it solely for hireability may lead to long-term technical debt. Ultimately, he encourages developers to consider the specific needs of their projects and explore alternatives that may offer better performance and developer experience.

Link Icon 1 comments
By @MatthiasPortzel - 4 months
This has been discussed to death at this point, but I do have one comment, which is that I honestly still enjoy React. I love how JSX allows me to treat html components as values. I love the functional programming style of React components. And there are parts of React that do bother me, like the necessity of memoization and how easy it is to create out-of-order state updates. But I don’t keep choosing React because I’m scared of other options, I keep using React because I enjoy it.