Scott Andrew

Blog

This is an archived blog post that was posted on July 6, 2019.

Why Did I Have Difficulty Learning React? - Snook.ca

Relatable. I've been using React at the day job for about 9 months and have gone through a lot of similar growing pains. But despite the added friction, adding a build step to frontend work has been fantastic.

A well-defined UX pattern library combined with a component system like React is a formidable tool for solving problems that front-end devs have complained about for decades: consistency, testability, encapsulation of best practices, and generally keeping your front-end from degenerating into a hellscape of cut-and-paste code. I've found that devs that don't do front-end work can easily understand component systems and are a lot happier when they can build UIs out of Lego-like pieces.

Unfortunately, React is also great for throwing progressive enhancement out the window. Client-side rendering via JavaScript will never be as bulletproof as server-side and it irks me to no end when critical features of a site simply don't work at all if the JS engine fails. Please, forget the "people who surf with JS disabled" strawman and think about ad blockers, aggressive CDN caching and poorly-written 3rd party ad code full of bugs. Yes, React can be rendered server-side but that doesn't matter if you haven't done the work to make sure what's rendered is actually usable. /rant