An eery hotel hallway

HotelCalifornia.js

Thanks to Jason Karns for the title idea. This is mostly edited from a Twitter thread, so for other comments and commentary, see the thread.

I really thought I had finally built a simple, maintainable, modern, single-page application.

Nope.

When I returned to this project after only six months, every build resulted in nothing but errors. Errors as far as the eye could see.

No environment should be this hostile.

At some point I just can't afford to keep trying. JavaScript is an otherwise accessible, easy to learn language (as computer languages go, anyway), and you can be productive very quickly.

You just can't walk away.

Just like Hotel California, you can check into writing a JavaScript application, but you can never leave. You are doomed to repair broken dependency after broken promise, ad infinitum.

I've never experienced anything like this from a programming environment, before or since.

For better or worse, browsers remain a ubiquitous application host, and one required of any business, no matter how small.

So what do you do?

One option might be compile-to-JS, and I want to keep an eye on that space. None of those options are so mature or so stable or so accessible that they can really compete, though! And culturally, they feel just as churn-driven as the environment they hope to replace.

What else?

I've spent a non-insignificant part of my JavaScript career replacing server-rendered applications, but I need to take my small business the other way. Environments like Go and Ruby have a more stable API, and the served-up HTML has FAR more device compatibility.

Why not?

Perhaps ironically, the reason not to is that it feels like untested water. So many modern applications moved away from 100% server rendering, touting it as "faster" and "better for users".

Is that still true? Who is pushing the boundaries of an alternative?

One way or the other, I feel left without a choice. JavaScript libraries, frameworks, and even developers feel hostile, even abusive.

I've used too many to expect the next to be any different, and I've been using them too long to expect them to improve.

I'm disappointed.

I'm disappointed because I really want this ubiquitous, accessible development environment to change.

I'm disappointed because I still feel it WILL change, and I might miss it.

I'm disappointed because I can't wait for it to change to stay here, on the web, making apps.

More Posts