React
January 15, 2024It's been a decade since React came onto the scene in the web development realm, and it has had a massive effect on how we build and the discourse around building for the web platform. But 'React fatigue' is becoming an increasing topic with the recent RSC (React Server Components) move that has divided the community, with some developers embracing the change and others viewing it with scepticism.
The Death of Flash
The advent of the iPhone ended Flash, a technology once ubiquitous for creating interactive web content. Apple's decision not to support Flash on its devices was a significant turning point for design. The need for branded, animated experiences was still needed, but the toolset at the time required to be improved: no custom fonts, no flexbox, no grid, scaling CSS was in its infancy, and you had to support IE 6-11.
This shift intensified the demand for technologies capable of filling the void left by Flash, setting the stage for JavaScript and React to revolutionise web application development.
Mobile-First Era and APIs
On the flip side of iOS, businesses had to develop REST APIs for their sites. As a side effect (pun heavily intended), having access to all the content and functionality, one could build a website in JavaScript, and you could couple the reactivity of the language with the newer CSS animation props, and we began to get some of those richer interactive experiences back.
Component-Based Architecture and JSX
Templates were nothing new in serverside languages, but how we thought and talked about them changed with JavaScript. Product design was becoming a thing, larger teams working on multiple products — all needing to standardise for brand and efficiency reasons. Patterns, components, and libraries all became a thing.
React's use of JSX, blending HTML with JavaScript, lent itself to this thinking. The syntax and use of props made it easier for multi-disciplinary teams to talk about the same thing.
JavaScript runs the World (Wide Web).
Except it doesn't. WordPress runs around 43% of websites, with JS running sites around less than 10% (not the best measure as it doesn't account for complexity or traffic). However, it's undeniable that React still plays a crucial role in shaping modern web development practices. Its influence is seen in how we approach user interfaces, handle state management, and even think about design patterns in the context of web applications.
But does that mean React is on its way out? With plenty of alternate solutions within JavaScript to pick from (Svelte, Vue, Solid, to name a few), and with the web platform itself providing new CSS features and animation capabilities like View Transitions, going with frameworks like Laravel or if you are really trendy, HTMX and Go and still get all the benefits of a component led approach.
Probably not. jQuery is still kicking, and unlike jQuery, React has evolved, and the new paradigms reflect the changing needs and development approaches.
And the boring take: it doesn't matter if you learn the fundamentals; picking tools becomes about what the project needs. Plus I really like JSX.