A masterful rant about the shit state of the web from a front-end dev perspective
There’s a disconcerting number of front-end developers out there who act like it wasn’t possible to generate HTML on a server prior to 2010. They talk about SSR only in the context of Node.js and seem to have no clue that people started working on this problem when season 5 of Seinfeld was on air2.
Server-side rendering was not invented with Node. What Node brought to the table was the convenience of writing your shitty div soup in the very same language that was invented in 10 days for the sole purpose of pissing off Java devs everywhere.
Server-side rendering means it’s rendered on the fucking server. You can do that with PHP, ASP, JSP, Ruby, Python, Perl, CGI, and hell, R. You can server-side render a page in Lua if you want.
facebook used to lie about react being faster than native on first load and navigation, in spite of that being impossible by both lived experience and as measured by benchmarks. supposedly templating is just too heavyweight for servers to handle at the mythical Amazon scale literally nobody reaches except Amazon but every shitty manager needs us to be ready for
and now that react can do server-side rendering I guess we’re doing templating again, but in node and much less efficient and with extremely unclear semantics around when it switches to client rendering, and also weird bugs when things render differently under SSR
also it’s still measurably much slower than old school server templating
the mythical Amazon scale
Ah yes, Amazon, the company with literally the shittiest front-end of all in existence. AWS is downright unusable outside of the CLI, but hey, at least they scale??
you know, for as much poison’s been poured into my ear about how everything must be Amazon scale, there’s no way in fuck they use react for their storefront or AWS, is there? I think the only reason react is considered an Amazon-scale frontend (besides Facebook, which also has a shitty UI, though not as bad as Amazon, and notoriously uses PHP for everything) is how hard they push it as part of AWS Amplify, a toolchain they say will help you reach their scale (but from experience: it absolutely will not, it’s just a set of technologies that increase your AWS bill and perform like shit, which is why Amazon doesn’t use it for anything of value themselves)
the only case I can immediately think of of a very major site going from server rendering to react is GitHub (which used to use Ruby on Rails and Erlang, apparently) and it’s been an unmitigated disaster — none of the new features that supposedly require react are good, the performance fucking sucks now, and the thing keeps breaking (I get weird renders with broken styling every few refreshes and apparently I’m not the only one). the fucking thing even hijacks the keyboard shortcuts I use and has become an accessibility nightmare, all in the name of pointlessly turning it into a react SPA and vscode wannabe.