Attention: This article may cause discomfort, particularly for individuals not from the React community. No offense is intended. Proceed at your own risk.
Preface. There was a surge in criticism towards React over the past year. Complaints ranged from reluctance of React's core members to adopt the trending Reactivity API, to confusion over React Server Components. IMO, the significance of the issues is often exaggerated while the objective proposition value of React is neglected or diminished. In this article, I want to highlight one particular aspect of React that is hard to overestimate but often overlooked and taken for granted.
Ask yourself:
What has been the main pain point of frontend development in the past decade?
For many, it's the ever-changing landscape of frontend development and the need to constantly re-learn, rewrite and fight with broken npm updates. It has become normal for a hyped and trendy technology to fall out of fashion within 2-3 years, get abandoned and become a tech debt burden for projects that relied on it.
We are lucky if our use of the guilty library is limited and the solution is straightforward. But dealing with more complex situations can become a nightmare causing the notorious fatigue. Many of us bear the scars from migrating AngularJS and Vue apps when those frameworks couldn't find a way for further gradual evolution and seamless updates. Those unlucky enough to have bet on these frameworks felt the impact: businesses, developers, library authors.
Is there any major frontend technology that has stayed relevant for over a decade, never broken its ecosystem, evolved gradually, and continued growing in popularity? Is there such a bastion in this volatile field?
The obvious answer is React. It's a true phenomenon.
React has earned a reputation as the least risky technology choice for frontend development. It has so far been the safest bet for business owners, developers and library authors.
With huge momentum, React continues to evolve, and its ecosystem thrives. IMO, the apprehensions about React's state of affairs are exaggerated.
Why did React make it where many others fell short? Perhaps it is the initial ingenious design principles of React, that helped it stay flexible and evolve gradually. Or maybe it is the React team's ingenious, pragmatic and cautious architectural decisions along the way. Likely, it's a combination of both.
Let's appreciate React for being such a phenomenon.
Let's appreciate the immense achievement of React's team.
The team has truly deserved better treatment, more respect, more trust and more patience from us.
Be nice. Be cute.
THANK YOU REACT! LONG LIVE REACT! 🤘
Top comments (16)
Software need principles, and its shown in React. And as it usually says, there is no silver bullet. Developers need to learn how to build, and evolve their system, combine the tools together. React only do one thing and it do it best. That is the reason for its success.
Completely true, and to add some more: Whenever you enter a video/blog that says "React is bullsh*t/React is useless" is people that doesn't understand the approach or the flow behind scenes and just limitates to add community hate to the strongest frontend ecosystem that dominated over the last years.
Has the react community already played enough with state managers or do they continue to change them every year?
That's a question to React Community :)
You simply shift the problem of the framework onto the heads of its users.
In this post heading image, there is a text say "Not a framework", that might be the reason i guess :) .
Don't find it very risky to choose a “non-framework” as the basis of the application architecture?
There are tradeoffs everywhere.
You can try build everything and fell short delivering it.
Or you limit the scope of your efforts, excel at it and let others fill the gaps.
React chose the latter and that led them to where they are.
Don't see a reason to be angry at React because of it
Properly not, as the React success said. Anyways, many find it more comfortable building system based on popular and well supported framework. Its developers' choice and responsibility.
The funny thing here is that somehow I single-handedly did what a huge corporation could not: my own reactive builder, hundreds of libraries, the coolest reactivity system, an isomorphic web-framework, hundreds of widgets, a decentralized database, dozens of applications, and even.. in between, I managed to fix the React.)
That's funny
I definitely agree with the sentiments of this article. One area I really wish they would consider is the reactivity aspect, as they should bring signals (officially) into react so we can unify state management across Angular, Solid, React, etc. Signals are so powerful and lightweight, I am surprised why it hasn't become the standard.
the "Reactivity aspect" is not a free lunch. It comes with its own tradeoffs.
It's not something unambiguously better. This is where I completely understand the apprehension of the React team and them being cautious.
Implementing something just because other implement it - also not a strong point.
I myself was excited about reactivity API in Vue and Solid for some time. But having built apps with it, I stopped being excited about it.
Next JS a framework on top of React JS just takes things on another level