<Tools/>

Some of the amazing frameworks and libraries that promote some or most of the values of HTML Driven Development.

htmx

htmx allows you to access AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext. htmx is small (~10k min.gz'd), dependency-free, extendable & IE11 compatible

htmx is a library that allows you to access modern browser features directly from HTML, rather than using javascript. htmx extends and generalizes the core idea of HTML as a hypertext, opening up many more possibilities directly within the language.

hotwire

Hotwire is an alternative approach to building modern web applications without using much JavaScript by sending HTML instead of JSON over the wire. This makes for fast first-load pages, keeps template rendering on the server, and allows for a simpler, more productive development experience in any programming language, without sacrificing any of the speed or responsiveness associated with a traditional single-page application.

Phoenix LiveView

Phoenix LiveView enables rich, real-time user experiences with server-rendered HTML. The LiveView programming model is declarative: instead of saying "once event X happens, change Y on the page", events in LiveView are regular messages which may cause changes to its state. Once the state changes, LiveView will re-render the relevant parts of its HTML template and push it to the browser, which updates itself in the most efficient manner. This means developers write LiveView templates as any other server-rendered HTML and LiveView does the hard work of tracking changes and sending the relevant diffs to the browser.

Laravel Livewire

Livewire is a full-stack framework for Laravel that makes building dynamic interfaces simple, without leaving the comfort of Laravel.

Marko

Marko is HTML re-imagined as a language for building dynamic and reactive user interfaces. Just about any valid HTML is valid Marko, but Marko extends the HTML language to allow building modern applications in a declarative way.

Astro

Astro allows you to build faster websites with less client-side Javascript.

Astro lets you use any framework you want (or none at all). And if most sites only have islands of interactivity, shouldn’t our tools optimize for that? Astro is not the first to ask the question, but it might be the first with an answer for every framework.

Sockpuppet

Sockpuppet is a new way to craft modern, reactive web interfaces with Django. We extend the capabilities of both Django and Stimulus by intercepting user interactions and passing them to Django over real-time websockets. These interactions are processed by Reflex actions that change application state. The current page is quickly re-rendered and the changes are sent to the client. The page is then morphed to reflect the new application state. This entire round-trip allows us to update the UI in 20-30ms without flicker or expensive page loads.

Unpoly

The unobtrusive JavaScript framework for server-side web applications Unpoly enables fast and flexible frontends while keeping rendering logic on the server. It has no dependencies and plays nice with existing code.

Alpine.js

A rugged, minimal framework for composing JavaScript behavior in your markup. Alpine.js offers you the reactive and declarative nature of big frameworks like Vue or React at a much lower cost. You get to keep your DOM, and sprinkle in behavior as you see fit.

Inertia.js

Inertia.js lets you quickly build modern single-page React, Vue and Svelte apps using classic server-side routing and controllers.

It is a new approach to building classic server-driven web apps. It allows you to create fully client-side rendered, single-page apps, without much of the complexity that comes with modern SPAs. It does this by leveraging existing server-side frameworks. It has no client-side routing, nor does it require an API.

Mavo

Mavo is a new, approachable way to create Web applications. You can create complex, reactive, persistent web applications by just writing HTML & CSS, without a single line of JavaScript and no server backend. It was developed in the Haystack Group at MIT CSAIL and led by Lea Verou.

Mavo extends the syntax of HTML to describe Web applications that manage, store, and transform data. You can store data in the cloud, locally, or not at all by just changing an HTML attribute.