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.
for the sole purpose of pissing off Java devs everywhere.
ah ah ah! it was written to piss off Visual Basic devs everywhere
As someone who’s doing a ton of frontend and backend, and I can’t stress this enough, fuck the asinine attitude that somehow everything that’s even remotely web-adjacent needs to be written or rewritten in pure JS.
Also Node is an abomination and literally every other language I’ve tried is better for the backend. People love to shit on Ruby, but JS has every flaw that Ruby is criticized for and then some, and at least Ruby makes an effort to take some great design paradigms from Lisp.
I’m sorry, but the vast majority of this really just boils down to “all my coworkers suck.” Why the fuck are you still there? It sounds like literally nobody you’ve ever worked with knows how to do web dev
This is so cathartic to read.
I have worked with multiple static sites delivered with React, because somebody built an enterprise design system which is so tightly tied into React that it can’t be applied any other way.
Lemmy, e.g. this here site, uses React too. Probably about as weirdly as they use Rust, even as the site appears to present an ok front end.
it’d be very nice to have a progressively enhanced static frontend instead since there’s really nothing about any of this that should require JavaScript (and something like unpoly would give us react SPA style functionality strictly as an enhancement on top of plain HTML)
this might be a cool project for someone to pick up once work on Philthy gets going; most of the alternative Lemmy frontends still have an unnecessary JS framework dependency, or are lacking features for essentially no reason
we used to strive for minimum possible front-end payload, and it was an embarrassment to do anything with JS that wasn’t backed up by a non-js default. Will never forget how suddenly React removed all those things from front-end team meetings.
They were solid industry-wide concerns that just… disappeared
i keep finding so much that’s done with JS that there’s perfectly good CSS for
it turns out browser rendering is fucking fast in 2024
The main reason companies use frontend frameworks is it’s easier to continue development through employee turnover. If your app was written in react or angular you just have to hire someone who knows how those work and they can get up to speed pretty quickly. Modularity also allows for code reuse. It increases maintainability. Labor isbtye major cost of software development, so making things easier and faster to develop and maintain is better from a business perspective than ensuring your app can run on a 15 year old iphone.
If you wanna go frameworkless, JS-less, or whatever on your personal projects then fine. If you insist on it in a professional team environment, you’re making everyone’s lives more difficult.
Some people enjoy the front end. Some people enjoy the back end. Some people like accessibility. Some people enjoy the full stack, and some people enjoy gratuitous innuendo.
Not that there’s anything wrong with any of that, but just about all software engineering is a dumpster fire today. This isn’t the future that was imagined by those resource-constrained titans who came before us, basking in the incandescent glow of the blinkenlights, fearing nothing in this world except dropping a box of several hundred punch cards thus rendering them out of order.
What we really need is a new language, design system, serialization format, package manager, build system, project management methodology, architectural pattern, IDE, and please, please, I’m begging you man, just give me one more framework to tide me over until Monday when the stores open again. My supply chain is under attack brah.