Resources
Hypermedia tools and learning resources. (Placeholder: replace with your own text.)
Tools and libraries
- Plain HTML Links and forms are the original hypermedia controls. A server that responds with HTML is already a hypermedia application, no library required.
- htmx Extends HTML with attributes like hx-get, hx-post and hx-target so any element can make a request and swap the returned HTML into the page.
- Datastar A small framework that pairs server-driven HTML patches over server-sent events with frontend reactive signals, all declared in data-* attributes. This site is built with it.
- Unpoly A progressive-enhancement framework for server-rendered apps: fragment updates, layered overlays, form validation and fast navigation with almost no custom JavaScript.
- Hotwire The approach behind Basecamp and HEY. Turbo handles navigation, frames and streams of server-rendered HTML, and Stimulus adds small JavaScript controllers where needed.
- fixi.js An experimental, minimalist take on htmx's core idea from the same authors: a tiny script that adds fetch-and-swap to elements through a handful of fx-* attributes.
- intercooler.js The jQuery-based predecessor to htmx that pioneered declarative AJAX with ic-* attributes. No longer actively developed.
- jQuery Its .load() method, which fetches HTML and inserts it into an element, was one of the earliest widely used partial-page hypermedia patterns.
- Alpine AJAX An Alpine.js plugin that lets links and forms update parts of the page with server-rendered HTML.
- Phoenix LiveView Elixir's framework for rich, real-time interfaces rendered on the server, with changes sent to the browser over a WebSocket.
- Laravel Livewire Dynamic Laravel interfaces built from server-rendered components; the server re-renders and the browser morphs in the changes.
- htmz A snippet small enough to paste inline that swaps HTML fragments using a hidden iframe and link/form targets.
- Hyperview Hypermedia for native mobile apps: the server sends HXML, which a React Native client renders as native screens.
- HAM The markup behind Hype Apps: the server sends HTML-like tags and a phone app renders them as a real native app. Change the whole app from your backend, no app store update needed.
- Idiomorph A DOM-morphing library that updates the page to match new HTML while preserving focus and state. Used by htmx and Turbo.
Learning
- Hypermedia Systems A free online book by Carson Gross, Adam Stepinski and Deniz Akşimşek on building applications with hypermedia, htmx and Hyperview.
- Architectural Styles and the Design of Network-based Software Architectures, chapter 5 Roy Fielding's dissertation chapter that defined REST, including hypermedia as the engine of application state.
- htmx essays Essays on hypermedia, REST and web architecture, including HATEOAS and hypermedia-driven applications.
- Hypermedia-Driven Applications Describes the hypermedia-driven application architecture and how it differs from the single-page app model.
- A Real World React → htmx Port A case study of a production app that replaced React with htmx, with before-and-after numbers.
- Datastar guide The official walkthrough of Datastar's signals, attributes and server-sent event patches.
- Turbo Handbook The official guide to Turbo Drive, Frames and Streams.
- Unpoly tutorial Unpoly's step-by-step introduction to fragment updates, overlays and forms.
- Sending form data (MDN) How plain HTML forms send data to the server, the foundation every hypermedia library builds on.
- Triptych Three proposals to 1: Add the missing PUT, PATCH, and DELETE http verbs to HTML, 2: let buttons make requests without form elements, and 3: allow partial page replacement in HTML.