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.

You are viewing a single thread.
View all comments View context
10 points

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

permalink
report
parent
reply
16 points

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

permalink
report
parent
reply
14 points

Remember when our industry cared about loading times?

permalink
report
parent
reply
12 points

I remember seeing an argument on reddit between a css dev that understood the depth of the responsive design philosophy and a dismissive Reacter that shut them down by calling them an old “list-aparter”

permalink
report
parent
reply
12 points

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

permalink
report
parent
reply
10 points

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

permalink
report
parent
reply
9 points

fucking exactly! I’ve been doing a lot of CSS-only work for the sneer archive rewrite, and it’s shocking how fast everything renders without JS, and how much functionality you can retain with a good enough CSS framework and careful markup

I’m also working on a JavaScript library and associated rant named fuckery because it turns out you can’t use Web Components without some utterly unnecessary JavaScript, because the W3C decided to do a fuckery

permalink
report
parent
reply
-4 points

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.

permalink
report
parent
reply
12 points

thank fuck neither myself nor this instance have employees, turnover, or shitty little project managers that get heartburn when the stack’s HTML5, CSS, and a non-shitty templating language instead of HTML5, react/angular/svelte/whichever frontend framework the market decided is in demand this quarter, a CSS in JS library, an ORM, webpack, and whichever npm clone tweaks your nipples the most

and you’d better hope you chose “right” on all of those pieces of the stack, cause you’re infantilizing your devs so much you think it’s impossible for them to learn a new frontend framework, or how to do modularity or maintainability in a basic fucking backend templating language. do they also have to ask your permission to take a piss?

but why are you posting here? it’s almost Monday and you’ve got an hour-long, unproductive standup to preside over

permalink
report
parent
reply
9 points

praise the circumstances that enable the scourge of b2b saas products imposed on employees at the collaboration factory

permalink
report
parent
reply
14 points
*

as a developer my favourite thing about react componentisation is how it makes me and my team more readily replaceable

permalink
report
parent
reply
10 points

fuck, this quip’s better than my seeing-red rant

permalink
report
parent
reply
8 points

I’ve been forced to do react for years and I still don’t like or understand it. Most times plain JavaScript is easier and quicker to write and quite maintainable if people can resist the urge to take the piss with nested anonymous functions.

I honestly can’t get my head around the idea that people can hit the ground running with react, but can’t write unabstracted JavaScript. It’s like a MotoGP rider not being able to ride a push bike.

permalink
report
parent
reply
10 points

I have, in a previous age, unfortunately been the first one to suggest react at work. it’s declarative! the mental model makes sense! it’s kind of like functional programming! why, Facebook is surprisingly good at CS, maybe we should look at graphql too since that seems like such a good fit for react

this venerable house, opulent and imperial, is a festering abomination. as soon as you run into any performance issues or edge cases with react (or far more quickly with graphql, where the edge cases include shit like authentication and API versioning), you’re going to start burning out developers doing the most counterintuitive bullshit ever invented to torture a development team. and react is structured such that performance issues will accumulate in web apps; it’s just a matter of time (and not even that much time) before they do.

that’s why the advice now is to dodge performance issues with server-side rendering, almost like your site should have been fucking static html in the first place, except SSR won’t fire up without a gigantic bundle of JavaScript affixed to it, and in general it’s another source of bugs and weird performance regressions that you now have to debug in two places

and for what? react’s DX is better than HTML and CSS until you hit a wall, then it’s much worse. you can get a fairly react-like set of functionality out of plain HTML with Web Components… except Web Components requires fucking JavaScript for no reason but to not threaten existing frontend frameworks (see our sister community FreeAssembly soon for the gigantic rant and JavaScript library I’m writing about this shitty situation)

permalink
report
parent
reply
8 points
*

I’ve heard this exact same bullshit spun defending choosing golang too, and it’s just as bullshit there as it is here

and that’s not even touching on the aspect of this being based on the extremely toxic “oh yeah just burn them up and find the next one” mentality that has become far more prevalent in the world under the umbrella of zirp-funded bayfuckery gaining international traction

I beg you to go consider whether this is your actual position, or some shit you picked up from someone else. to consider what the effects of this stance are, not just today but in 5/10/15y+. it should be quite easy to see both how it helped us get into the collective pile of shit we now do have, as well as why it won’t ever be good

permalink
report
parent
reply
9 points

Modularity also allows for code reuse. It increases maintainability.

another thing to think about is how this was not invented by frontend frameworks. We did it fine pre-SPAs and pre-preprocessors. It was part of the architecture and strategy. The hard work that allowed us to essentially reskin entire, very complex, projects every couple of years

permalink
report
parent
reply
7 points

Maintainability my ass. Most “reusable” components I inherit on a react project are worse than worthless, they’re counterproductive.

permalink
report
parent
reply

TechTakes

!techtakes@awful.systems

Create post

Big brain tech dude got yet another clueless take over at HackerNews etc? Here’s the place to vent. Orange site, VC foolishness, all welcome.

This is not debate club. Unless it’s amusing debate.

For actually-good tech, you want our NotAwfulTech community

Community stats

  • 1.5K

    Monthly active users

  • 502

    Posts

  • 11K

    Comments

Community moderators