From 8c34d810af95fae0ef846f54370a8c88bfab7123 Mon Sep 17 00:00:00 2001 From: "netop://ウィビ" Date: Sat, 11 Apr 2026 14:24:49 -0700 Subject: initial commit --- memos/WM-064.txt | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 memos/WM-064.txt (limited to 'memos/WM-064.txt') diff --git a/memos/WM-064.txt b/memos/WM-064.txt new file mode 100644 index 0000000..3223d62 --- /dev/null +++ b/memos/WM-064.txt @@ -0,0 +1,89 @@ + + + + + + + +Document: WM-064 P. Webb +Category: Programming 2025.03.04 + + Why I won't touch React + +Abstract + + Outside of my $DAYJOB + +Body + + JavaScript frameworks are a dime a dozen and everyone has their + favorites. HTMX, Solid, Svelte/SvelteKit (my favorite), Next, Remix, + &c. The industry has long decided on the framework to rule them all, + React. Which is fine, I guess. Cool. + + My problem is when the industry decides on A Thing™, everyone + gravitates to this and opposing that can sometimes be difficult. + + Remember "mobile‑first design/development"? This never made sense to + me. We don't code on mobile devices, we code on desktop devices…so + why not _start_ coding for desktop and use media queries to to + hide/remove elements from mobile views? Being a lowly entry‑level dev + meant I had no power to push back so it was during this era that I + decided to apply common sense (to me) coding practices to + personal projects. + + The industry has since moved on and replaced that practice with + proper responsive design. + + My reasons for being anti‑React isn't a knee‑jerk reaction to being a + "hipster" (anti whatever's popular), I actually have a few reasons: + + 1. My mental model doesn't mesh with how React works + 2. The way React manages state has always been weird + 3. The internet is rife with outdated/opinionated tutorials + + Keep in mind that I am not up‑to‑date on how React is nowadays so + maybe my issues with it are expired. + + I'll contrast the reasons I don't like React with the reasons I + like Svelte: + + 1. Svelte is the closest to writing vanilla HTML/CSS/JS that I've + found…and I can easily use Sass and TypeScript instead. + 2. Until Svelte 5, managing state in Svelte has been easier for me to + grok than React. Svelte 5 is quite helpful in their typings when + you try to mix the old way of managing state with their new way. + 3. I've never been confused with Svelte tutorials. It may help that + Svelte hasn't had many drastic changes over the years and, being a + smaller framework means there's no SEO stuffing or whatever it is + people do to get more clicks on their ad‑riddled site. + + The last point is rectified these days by a good search engine. + Google hasn't been good for quite some time but most people don't + care so my last point still stands. Paying for Kagi makes sense for + *me* though. + + I will say that React makes sense to use if you have need for React + Native. From what I understand, React Native is fantastic and comes + with less headaches than using literally anything else for building + Android and Apple mobile apps from the same codebase. + + Every "Who's Hiring" thread on HackerNews is littered with React + experience of at least a few years. Sometimes a poster will append, + "or relevant experience" but let's be real, experience in another + framework probably doesn't matter. Job postings on LinkedIn are the + same but I'd wager HN is better because at least you can contact a + real person to inquire further. + + This isn't a bitter blog post btw! I'm more than happy to stubbornly + wait this phase out just like I did with "mobile‑first design", + "should designers code?" (designers should absolutely code, it's + awesome), and so on. Did you know I was actually chastised for + spending my lunch breaks as a lowly designer turned developer to read + up on design trends? Why is what I'm doing bothering YOU? + + Anyhoo, learn React if you gotta (or geniunely want to), I don't + care. I'll be here in 10 years ranting about the next tech industry + darling that doesn't make sense to me. + + 🕸️ -- cgit v1.2.3