this post was submitted on 14 Jan 2024
2702 points (99.1% liked)

Memes

45736 readers
185 users here now

Rules:

  1. Be civil and nice.
  2. 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
[–] [email protected] 7 points 10 months ago (1 children)

The trick is in not using javascript where you don't need it, which would cut 95% of all its use around the interwebs

[–] FooBarrington 0 points 10 months ago (1 children)

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.

[–] [email protected] 4 points 10 months ago (1 children)

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.

meaning I can offer my app as a single HTML file you can download and use however you want

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?

[–] FooBarrington 0 points 10 months ago* (last edited 10 months ago)

When all I want to do is read content, no JS is needed.

I didn't say otherwise.

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.

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?

Form validation with JS goes back decades and no one in their right minds relies entirely on frontend validation.

I didn't say anyone should rely 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.

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".

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?

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?