And a big reason for this is that we can ship sites without a dedicated backend—which we would need to render your sites for you when you disable JS. A requirement for a backends just to render templates would be a very high obstacle for many applications and developers, in complexity, time, cost, and electricity. It simply wouldn’t make sense.
You’re also right that many devs will host their client-side-only sites on free static providers like GitHub Pages which are built on top of CDNs and cloud storage providers that are storing and mining visitor logs. There’s some room for shenanigans. There’s also a lot of room for privacy: I can guarantee visitors to my static site that nobody will see the data they enter into it because no packet ever leaves. And static sites offer the ultimate immunity to vendor lock-in: literally anything can serve dead bytes on disk.
@bookandswordblog @jer_ thanks for bearing with my incomplete walls of text! Read-only databases are topologically equivalent to static files (see the fantastic https://phiresky.github.io/blog/2021/hosting-sqlite-databases-on-github-pages/).
@22 @bookandswordblog all of this that you're describing, though, is foisting off the developer's inexperience on the user. That's a bad web app. If there are elements of basic usability that don't have to be client-side that are exclusively client-side, that's bad implementation.
I'm not talking about elements that require client-side work, but websites who just show broken images without js (or nothing at all) are bad.
@jer_ hmmm. Again many thanks for spending time reading my scattered thoughts and thinking about and writing a reply—I am supremely grateful for your thoughtfulness.
I don’t want to try and change your mind—I personally do respect the no-JS folks and as a courtesy to them I will spell out why they should turn on JS to appreciate a site I made in the <noscript> tag. I also love exporting websites with LaTeX equations and diagrams and source code snippets fully baked to HTML and SVG, no JS needed, to enjoy that sweet static files hosting. And finally a no-JS browser is of course in my toolkit for surviving the web (along with ad blockers and DNS blockers and proxies and VPNs and virtual machines).
But I personally can totally see why something that *could* have been a static site like Imgur or Twitter or Medium still decided to do rendering and interaction to JS. To me it’s a reasonable choice and I disagree with calling them “broken”.
@jer_ @22 regarding user experience, one important reason to block scripts is to remove nagging popups asking visitors to sign in, sign up to the mailing list (which they are already on!), disable their ad blocker, fill out a poll, etc.
NoScript and UBlock Origin would not be so popular if they were just used by privacy geeks.
Its not just about privacy or saving bandwidth but about seeing the actual content without all the cruft laid around it.
@bookandswordblog @jer_ your unexpectedly generous and patient explanations convinced me it’s time to properly learn server-side rendering which is why I’m neck-deep in the Next.js documentation at 2am 😆
It turns out my intuition about the difficulty of converting a traditional React or Vue single-page app (SPA) into something more static when you also have a backend handy is at least a couple of years too old. I personally didn’t take tools like Next or Gatsby seriously because they’re outside the orbit of the core language and framework teams, but with the newfound energy to figure it out thanks to your posts, I see that these are definitely worth using and the direction the industry is heading in.
Well done to both of you. Someone (me) was wrong on the internet and you fixed it 😁
Scholar Social is a microblogging platform for researchers, grad students, librarians, archivists, undergrads, academically inclined high schoolers, educators of all levels, journal editors, research assistants, professors, administrators—anyone involved in academia who is willing to engage with others respectfully.