tl; dr: Should I provide a way for developers to use the website portion of the product if they have JS disabled?
I am working a product idea where the primary user will be developers of all sorts (embedded, systems, desktop, web, mobile, game, ..) and one thing I have noticed throughout all the chats/forums/etc. that I have been involved in is that there is a certain percentage of them complaining about a website not being available because they have JS disabled and the site doesn't work, or there is "way too much JavaScript" and the site is (in their experience) slow and/or "bloated."
Even if I was to provide an alternate version for non-JS users it would be something that came after the initial launch, but something I would want to keep in my head during the primary development. I have done something like this before, but it was for a specific (internal to the customer) clientele that were limited in their browser and configuration. There was basically a job that ran each night to render a new static website with anything that changed during that day.
Thanks,
I browse using a plugin called NoScript. It's blocking 10 things at the moment on this website, yet I can use it completely. If I browse to a website that doesn't work I usually check why and allow the js to run. so my two cents are : People who disable js know that they disabled it , so they are prepared for broken websites , but I think if you are not building an SPA or PWA you should make sure the site is not completely broken when the js is disabled. So it's a good idea to use HTML forms for post requests etc...
I also use plugins that disable JS, but it is more explicit in what gets blocked. It is a very good point that people know they are blocking it, and know what needs to be done to overcome that. I guess part of me was trying to win "brownie points" for the effort. :-)
You are over worrying about it.
"developers of all sorts" => big enough audience not to worry about marginals.
I'm going to second this. I personally wouldn't spend any time on it. If you want to at least try to capture the size of the user set, you could create a ping-pong request-response in js. Log the ip of of every html request and look for a follow-on ajax request that matches that ip. If one never arrives you can assume the user is blocking js.
Wait... What? No!
For my sites, I generally like to have the site be viewable with JS disabled but allow interactions more complicated than a form post to require JS.