this post was submitted on 14 Jan 2024
2675 points (99.0% liked)
Memes
45641 readers
1161 users here now
Rules:
- Be civil and nice.
- Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you have to.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
No, it's not due to React. If the code were written in vanilla it wouldn't be more efficient, just harder to maintain.
The trick is in not using javascript where you don't need it, which would cut 95% of all its use around the interwebs
I don't agree completely - there are a lot of things that are possible without JavaScript, which are improved either due to better UX or improved safety through JS.
Easy examples for better UX is anything to do with forms and multi-step processes. Getting validation errors while typing is massively better than getting them on submit, and it's easy to store temporary edit states locally to prevent data re-entry. This especially goes for offline-first applications.
IMO more importantly, local JS is always preferable to server-side logic when possible, since it means your data never leaves your browser. Imagine a JSON formatter that processes data server-side - you can never be sure what they are doing with your data! Compared to that local JS is incredibly portable (every platform has a browser) and isn't reliant on anything else. I build my utility apps both in the usual bundler way, and as single files - meaning I can offer my app as a single HTML file you can download and use however you want.
Of course the security benefits aren't perfect - it's always possible data is still sent somewhere. I really hope that one day we'll get an API that allows a website to limit further network connections to specific URLs. This would give users of such applications real peace of mind.
When all I want to do is read content, no JS is needed. That has been a solved problem for decades. UX is problematic because now you have these huge PC screens and comparatively tiny mobile screens to account for. Most developers go for mobile first and completely ignore the rest, so you have loads of sites that are needlessly displayed like slow powerpoint presentations, autoscrolling to the next anchor because that's "good UX" somehow.
Form validation with JS goes back decades and no one in their right minds relies entirely on frontend validation. It's great because it can be immediate, but it's easier to sidestep either by accident or on purpose. Since a lot of forms nowadays are "autogenerated" from their respective UI libraries, they come with a lot of unnecessary cruft.
I sure hope that doesn't need a "local server" of any sort to work. It's one of the things that baffles me the most, javascript that only works with a npm server to connect to. I also hope it's not bundled as an electron app, what's the point of having an entire chrome browser bundled just to run a single page?
I didn't say otherwise.
Okay? I'm not sure what you're arguing against. Some websites have bad UX, and that means the technology used to implement that bad UX is in itself bad?
I didn't say anyone should rely entirely on frontend validation.
Again, what exactly are you arguing for or against? You said "don't use JavaScript when you don't need it". You don't need frontend validation, it's a nice to have, but it would be incredibly stupid to say "this form is way better without frontend validation".
No, the single HTML file I'm talking about doesn't require a server or Electron or anything besides a browser. What are you on about?
You either seem to be willfully misunderstanding me, or you're projecting a bunch of random webdev grievances onto me. Why?