Hi all,
I am curious about everyone's opinion on building projects that rely on JavaScript (front-end).
Do you build your project with the forethought of JavaScript possibly being unavailable at the client end?
What if you could get around the lack of JavaScript but the whole user experience and end product would be very sub-par, would you still take the time to develop a non JavaScript version or just go with "You must enable JavaScript to use" (e.g. Slack)?
It's simply not worth it for me to cater to the small amount of audience that have Javascript disabled. Most of my UI's are heavily based on Javascript and Vue, and would require a significant amount of effort to work without it.
I'm fine losing out on a small percentage of customers who might have Javascript disabled if it saves me tons of time. At the end of the day I'd probably lose much more in man hours than I'm going to make on the off chance a non-Javscript user both visits and signs up for my service.
I agree... 'time'.
I'm not the swiftest of developer to begin with.
Exactly. Only 0.2% to 1.5% of pageviews depending on the country.
What's going to give you more ROI: shipping and refining or wasting days spent coding non-JS fallbacks? And you'd miss out on important user experience features (AJAX etc).
I always just include this: https://www.enable-javascript.com/, use CSS on the
<noscript>to be a full-page static overlay (w/ a contact option), set my main body todisplay: none;and show it with JS.I am not sure why, but I only read people disabling JavaScript on Hacker News. Normal people don't even know what JavaScript is, yet alone how to disable it.
I'm pretty sure the internet becomes super fast if you do so, as all the trackers and ads are removed.
If the app is JS-heavy and unusable without it, I would just tell people to enable JavaScript.
I'm pretty sure the internet became super fast when I got fiber optic internet anyway.
It really depends, is Webflow going to make their editor usable without JS? Of course not that would be ridiculous but if your app is at it's core nothing more than a table/submit form (a lot of SaaS/indie apps are) it often isn't that hard and you probably shouldn't be doing a lot of heavy JS use in the first place.
My full stack is JavaScript. React based too.. JavaScript on the client is very important for me, but at the same time, I do server side rendering because I want the site to work for non-JS users too.
When you mention wanting your site to work for non-JS users, is that because you are wanting to cater for a particular subset (i.e. corporate users with a no JS policy enforced) or just wanting to be all accommodating?
I don't want my users who don't have JavaScript installed to have a poor experience, or non-experience... I want to give them SOMETHING.
I wouldn't stress about it. Most of the world has JavaScript enabled and the ones that don't know that the web is broken for them and have most likely made that choice. When you're small, work for the largest group you can. Once you're established or even have a team you can start working on fallbacks.
Don't assume everyone has JavaScript. Checkout this to learn more ways how JS heavy website might fail.
https://kryogenix.org/code/browser/everyonehasjs.html
It totally depends on what you're building. Is it an interactive "application"? Then it's beyond reasonable to expect JS is enabled and loaded.
If your product is primarily centered on content delivery, why rely on JS rendering?
Remember the problem is not that users knowingly block JS (as many in this thread are implying), it's that JS loads can time out and fail, take too long on mobile, or be blocked by security measures.
Anecdote: I once had a customer complain my SaaS was broken. It turned out the hospital she was working out of had some firewall policy that killed off certain JS libs served from a CDN. Moving my JS libs self-hosting solved the problem in this case.
I'd echo what others have said here and add that my main worry of using JS heavily a few years ago was SEO, but now Google does such a good job of rendering JS content (including React and Vue) that this is no longer a worry.
Unless I was working on a very large project that 2% revenue could justify the development time and there was nothing else I could better spend my time on then I wouldn't worry about it.
I agree. When I first started to look into this, it seemed a more prominent topic 2+ years ago, but appears less of late.
Don't worry about it and just ship it! 🚢
You can always figure it out later.
Thanks... darn analysis paralysis.
It is reasonable to ask users to enable JavaScript - and users who disable JavaScript expect to enable it for certain web apps.
However, how this is displayed is dependent upon the audience for your project.
For a general audience, 98% of users will have Javascript enabled already and a simple 'You must enable JavaScript to use' message works. Should 2% object, the loss of income will be minor and developing as a non-JavaScript version is not worthwhile.
For a security-orientated technical audience, you might wish to provide a detailed explanation of why you need JavaScript. Then, monitor your metrics - if they don't enable it, consider developing a basic non-JavaScript version.
Thanks. This is kind of how my current way of thinking is going. Nice to see it echoed.
you can either spend 2/3 of your time trying to support Internet Explorer 5 (nearly equivalent to not having JavaScript) for users who will probably neither pay nor visit your site twice a year...or you can decide to use and support current and reasonable features that most of sane clients use....at the end of the day, you got to choose either, but never both!
Thanks for the insight.
This comment was deleted 7 years ago
These days many websites are unusable with JS turned on because of ads, popups, email signups, scroll jacking, etc...
This comment was deleted 7 years ago