Clicky

SourceCoded

HOTW - HTML over-the-wire

Published May 05, 2022

A lot have changed since the invention of the World Wide Web (can we still call it like this?). One thing, tough, hasn't changed much: the HTML language.

If you'd take a look at the history of the HTML language you'll notice that the specification has not changed that much. Since 1993, when it was presented, only 5 versions of it were released. Fast forward 29 years and HTML, somehow, is still here. Almost unchanged. We still rely on it to make the web what it is today. Really, there are no other candidates.

Well, maybe not so much. Look around web development these days and you won't find HTML as a first citizen anymore. Javascript frameworks/libraries like React, Vue, Angular and others (remember Javascript fatigue?) are the de facto standard for building the web for today. These are so relevant these days that we have a "new" set of professionals that are specialized on it, building whole frontend applications with those technologies and tools.

For years, all we had were HTML and Javascript as it was conceived: a scripting language that would run inside you browser and, maybe, it could help your site be more interactive. But, since Google introduced Gmail to the world, everything changed. People were mesmerized on how an "website" could behave that way: no full reloads, so fast and responsive. Even a new name for this "kind" of application was created: SPAs or Single Page Applications.

Then, the frontend frameworks and JSON APIs era has begun. A plethora of frameworks and libraries started to show up trying to solve the same problem and be the next tool-to-use when developing for the web. Most of them were not that successful. The remaining ones (those I mentined earlier) are here and doing very well. Lots of tools and support from IDEs and text ediators, companies using them around the world and, most important, large communities around them.

Still, there's one movement around the corner that is starting to make some noise: HOTW or HTML over-the-wire. The idea is: why do we need to learn a whole new framework (even a new language), a whole new set of tools, have a whole new build process since we had all the tools necessary to make cool stuff: HTML and Javascript. So, tools like Hotwire, htmx and Unpoly are rising trying to solve the problems of responsiveness and full-reloads without changing the tools we already had.

How? Rendering parts of your HTML page at a time (some times just simulating it). No new tools, no new frameworks. A small Javascript file, a set of HTML attributes on your pages and you're done.

I've been using Unpoly and Django for a side project and I'm delighted to see how easy and fast it is to have a very nice, SPA like feeling, working app.

I'll have some articles on these tools to show how they work and why, meybe, just maybe, you don't need a frontend framework.