A short ebook for those who want to write modest JavaScript, and then focus on all the other stuff that matters in building an app.

You’ve always been inclined to stay away from the big JavaScript frameworks. But now you’re within a bigger team, and it’s a little confounding to you how they just jump on writing some heavy-handed JS right away. What is this madness?

You’ve made your case to stay small, stay bounded, stay modest, but the whole web seems to be rushing in the same JS-for-everything direction. So what to do?

You’ve looked for another technical solution to propose.

Right now, if you’re looking for a technical solution that is more modest, I’d go all-in for Hotwire, Basecamp’s new Stimulus + Turbo (née Turbolinks) bundle they extracted from their Hey email service. If I’d need more interactivity in places, I’d instantiate some Spot view models using Stimulus in just the spots I’d need it.

With time, these will change, and new approaches will come up, and you might be inventing one. But you’re not here for the JS-framework-du-jour.

“Will this thing be around in 5-10 years?”

“What’s special about the companies that keep away from the heavy-JS nonsense?”

My answer to those questions: bet on modesty.

My book’s Part 1 is about some principles that hope to give decision-making guardrails to try to work within. Those principles, they’re about how to inject modesty in the JavaScript fast-paced, break-code dev culture.

For example, in the chapter Upgrading (the idea of) dependencies, we look at what it means to be dependent, and that the opposite of being dependent is not merely being independent.

I also go over the role of React in today’s ecosystem. It’s a popular default starting point, but like other such default starting points that history brought us, it will be replaced too.

And there’s a bit about your role in the broader organization you’re working for. How you’re not just a developer, how building an app is a lot more than building the software, and how the business that you’re in might be immodest in the first place. And if you are to sell your ideas, you need to learn to speak the “buyer’s” language and keep your ego out of the way.

In Part 2, I make the case for The JS Gradient, a principle whereby your app can have multiple coexisting modern JS approaches, starting from the global sprinkles to spot view-models to, yes, an SPA if that’s really necessary. At each point in the gradient, you’ll see when it’s a good idea to go a step further toward heavier JavaScript, or otherwise don’t.

Hope this helps.
Pascal Laliberté