December 22nd 2015

The Unfortunate Reason Why All-Javascript Websites are Still Irresponsible

Let me first clarify that I'm talking about brochure-style websites. Web apps can (and probably should) be all-Javascript today.

Brochure websites for clients, however, should not be made entirely in Javascript. The reason might not be what you think.


The biggest problem with an all Javascript website isn't that some people disable Javascript. Those people are few and far between these days, and they typically expect to see a lot of poor no-script fallbacks. (So they're fine.)

The problem is actually that in Javascript, if there's an error anywhere on the page, the whole page breaks (sometimes even hyperlinks don't work). If there's an error in a single page Javascript application, the whole site breaks.

If the error is before page content loads, then the page is a blank white nothing. If the error is after page content loads in, the user will see the content, but they won't be able to interact with it. Since most users don't know to check for a Javascript error in web inspector, they'll keep clicking the same things over and over, waiting for something to happen.

Therefore, my only possible conclusion is that it's still a little too early to build all-Javascript websites for paying clients. (Just a tiny bit too early.)

If the price is high, then it's kind of irresponsible.

There still needs to be a basic, bare bones fallback to non-existent or errored Javascript, even if that fallback is only a real HTML menu that uses real hyperlinks to load separate pages. That goes a long way!


Hopefully soon, we can find a nice middle ground where we take advantage of Javascript frameworks that make coding and set up so easy, but we also take advantage of the amazing structure of the World Wide Web. As content APIs become more popular (they will become very popular), the use of all-Javascript front ends will make even more sense... for developers. But, don't worry, we'll find ways to make sure they make sense for users and that everyone sees content no matter what. We'll blend the best of Javascript with the best of the good ol' fashioned web browser, and it will happen soon.

Until then, however, please be responsible with your clients' web properties.