htmx 1.9.0 has been released!

htmx 1.9.0 Release I’m happy to announce the 1.9.0 release of htmx. New Features Support for view transitions, based on the experimental View Transitions API currently available in Chrome 111+ and coming to other browsers soon. Support for “naked” hx-trigger attributes, where an … | Continue reading


@htmx.org | 1 year ago

View Transitions

We have asserted, for a while now, that a major reason that many people have adopted the SPA architecture for web applications is due to aesthetic considerations. As we mention in our book Hypermedia Systems, when discussing the Web 1.0-style contact management application we beg … | Continue reading


@v1.htmx.org | 1 year ago

htmx 1.9.0 has been released!

htmx 1.9.0 Release I’m happy to announce the 1.9.0 release of htmx. New Features Support for view transitions, based on the experimental View Transitions API currently available in Chrome 111+ and coming to other browsers soon. Support for “naked” hx-trigger attributes, where an … | Continue reading


@v1.htmx.org | 1 year ago

Architectural Sympathy

#Mechanical Sympathy & Architectural Sympathy You don’t have to be an engineer to be be a racing driver, but you do have to have Mechanical Sympathy. -Jackie Stewart, racing driver The term “mechanical sympathy” was originally coined by Jackie Steward to capture a characteristic … | Continue reading


@htmx.org | 1 year ago

Architectural Sympathy

#Mechanical Sympathy & Architectural Sympathy You don’t have to be an engineer to be be a racing driver, but you do have to have Mechanical Sympathy. -Jackie Stewart, racing driver The term “mechanical sympathy” was originally coined by Jackie Steward to capture a characteristic … | Continue reading


@v1.htmx.org | 1 year ago

htmx 1.8.6 has been released!

htmx 1.8.6 Release I’m happy to announce the 1.8.6 release of htmx. New Features ESM support (thank you @dkniffin!) Sass has been vanquished from the htmx.org website so python 2 (!!!) is no longer required for developing htmx (thank you @dz4k!) Improvements & Bug fixes Fixed a b … | Continue reading


@htmx.org | 1 year ago

htmx 1.8.6 has been released!

htmx 1.8.6 Release I’m happy to announce the 1.8.6 release of htmx. New Features ESM support (thank you @dkniffin!) Sass has been vanquished from the htmx.org website so python 2 (!!!) is no longer required for developing htmx (thank you @dz4k!) Improvements & Bug fixes Fixed a b … | Continue reading


@v1.htmx.org | 1 year ago

htmx 1.8.6 has been released!

htmx 1.8.6 Release I'm happy to announce the 1.8.6 release of htmx. New Features ESM support (thank you @dkniffin!) Sass has been vanquished from the htmx.org website so python 2 (!!!) is no longer required for developing htmx (thank you @dz4k!) Improvements & Bug fixes Fixed a b … | Continue reading


@htmx.org | 1 year ago

Hypermedia Clients

Hypermedia Clients Often, when we are being insufferably pedantic in online discussions about REST & HATEOAS, we will say something along the lines of this: JSON isn't a hypermedia because it doesn't have hypermedia controls. Look at this JSON: { "account": { "account_number": 1 … | Continue reading


@htmx.org | 1 year ago

Hypermedia Clients

Often, when we are being insufferably pedantic in online discussions about REST & HATEOAS, we will say something along the lines of this: JSON isn’t a hypermedia because it doesn’t have hypermedia controls. Look at this JSON: { "account": { "account_number": 12345, "balanc … | Continue reading


@v1.htmx.org | 1 year ago

htmx 1.8.5 has been released!

htmx 1.8.5 Release I’m happy to announce the 1.8.5 release of htmx. New Features Support a new optional cache-busting configuration option, getCacheBusterParam, to allow browsers to disambiguate between GET requests from htmx and from the raw browser Support new hx-history='false … | Continue reading


@htmx.org | 1 year ago

htmx 1.8.5 has been released!

htmx 1.8.5 Release I’m happy to announce the 1.8.5 release of htmx. New Features Support a new optional cache-busting configuration option, getCacheBusterParam, to allow browsers to disambiguate between GET requests from htmx and from the raw browser Support new hx-history='false … | Continue reading


@v1.htmx.org | 1 year ago

htmx - high power tools for html

Hypermedia-Friendly Scripting The final addition to our constraint set for REST comes from the code-on-demand style of Section 3.5.3 (Figure 5-8). REST allows client functionality to be extended by downloading and executing code in the form of applets or scripts. This simplifies … | Continue reading


@htmx.org | 2 years ago

Hypermedia-Friendly Scripting

The final addition to our constraint set for REST comes from the code-on-demand style of Section 3.5.3 (Figure 5-8). REST allows client functionality to be extended by downloading and executing code in the form of applets or scripts. This simplifies clients by reducing the number … | Continue reading


@v1.htmx.org | 2 years ago

htmx 1.8.3 has been released!

htmx 1.8.3 Release I’m happy to announce the 1.8.3 release of htmx. New Features A new htmx:confirm event was added that allows for asynchronous confirmation dialogs to be integrated into htmx requests The new head-support extension allows for more elaborate head tag merging than … | Continue reading


@htmx.org | 2 years ago

htmx 1.8.3 has been released!

htmx 1.8.3 Release I’m happy to announce the 1.8.3 release of htmx. New Features A new htmx:confirm event was added that allows for asynchronous confirmation dialogs to be integrated into htmx requests The new head-support extension allows for more elaborate head tag merging than … | Continue reading


@v1.htmx.org | 2 years ago

htmx 1.8.3 has been released!

htmx 1.8.3 Release I'm happy to announce the 1.8.3 release of htmx. New Features A new htmx:confirm event was added that allows for asynchronous confirmation dialogs to be integrated into htmx requests The new head-support extension allows for more elaborate head tag merging than … | Continue reading


@htmx.org | 2 years ago

When Should You Use Hypermedia?

Continue reading


@htmx.org | 2 years ago

Complexity Budget

Complexity Budgets Every application involves managing a complexity budget. A complexity budget can be defined as: An explicit or implicit allocation of complexity across the entire application "Complexity" here is defined subjectively (rather than formally) and in Stewartian Ter … | Continue reading


@htmx.org | 2 years ago

Template Fragments

Template Fragments Template fragments are a relatively rare Server Side Rendering (SSR) template library feature that allow you to render a fragment or partial bit of the content within a template, rather than the entire template. This feature is very handy in Hypermedia Driven A … | Continue reading


@htmx.org | 2 years ago

When Should You Use Hypermedia?

The trade-off, though, is that a uniform interface degrades efficiency, since information is transferred in a standardized form rather than one which is specific to an application’s needs. The REST interface is designed to be efficient for large-grain hypermedia data transfer, op … | Continue reading


@v1.htmx.org | 2 years ago

A Real World React – Htmx Port

Continue reading


@htmx.org | 2 years ago

htmx 1.8.1 has been released!

htmx 1.8.1 Release I’m happy to announce the 1.8.1 release of htmx. New Features We now keep a count of outstanding requests for an indicator, so more than one overlapping request can share the same indicator without issues We now track the attribute state of an element and re-in … | Continue reading


@htmx.org | 2 years ago

htmx 1.8.1 has been released!

htmx 1.8.1 Release I’m happy to announce the 1.8.1 release of htmx. New Features We now keep a count of outstanding requests for an indicator, so more than one overlapping request can share the same indicator without issues We now track the attribute state of an element and re-in … | Continue reading


@v1.htmx.org | 2 years ago

htmx 1.8.1 has been released!

htmx 1.8.1 Release I'm happy to announce the 1.8.1 release of htmx. New Features We now keep a count of outstanding requests for an indicator, so more than one overlapping request can share the same indicator without issues We now track the attribute state of an element and re-in … | Continue reading


@htmx.org | 2 years ago

A Real World React -> htmx Port

It is all well and good talking about REST & HATEOAS in theory or describing the Hypermedia-Driven Application architecture, but, at the end of the day, what matters in software is practical: Does it work? Does it improve things? We can say for sure that htmx works, since we use … | Continue reading


@v1.htmx.org | 2 years ago

Template Fragments

Template fragments are a relatively rare Server Side Rendering (SSR) template library feature that allow you to render a fragment or partial bit of the content within a template, rather than the entire template. This feature is very handy in Hypermedia Driven Applications because … | Continue reading


@v1.htmx.org | 2 years ago

An SPA Alternative

Continue reading


@htmx.org | 2 years ago

How Did REST Come to Mean the Opposite of REST?

Continue reading


@htmx.org | 2 years ago

How Did REST Come To Mean The Opposite of REST?

#Tapping The Sign I am getting frustrated by the number of people calling any HTTP-based interface a REST API. Today’s example is the SocialSite REST API. That is RPC. It screams RPC. There is so much coupling on display that it should be given an X rating. What needs to be done … | Continue reading


@v1.htmx.org | 2 years ago

htmx 1.8.0 has been released!

htmx 1.8.0 Release I’m happy to announce the 1.8.0 release of htmx. NOTE: This was a big release with some changes to very touchy code that is hard to test (e.g. history support) so please test thoroughly and let us know if there are any issues. New Features The hx-replace-url at … | Continue reading


@htmx.org | 2 years ago

htmx 1.8.0 has been released!

htmx 1.8.0 Release I’m happy to announce the 1.8.0 release of htmx. NOTE: This was a big release with some changes to very touchy code that is hard to test (e.g. history support) so please test thoroughly and let us know if there are any issues. New Features The hx-replace-url at … | Continue reading


@v1.htmx.org | 2 years ago

htmx 1.8.0 has been released!

htmx 1.8.0 Release I'm happy to announce the 1.8.0 release of htmx. NOTE: This was a big release with some changes to very touchy code that is hard to test (e.g. history support) so please test thoroughly and let us know if there are any issues. New Features The hx-replace-url at … | Continue reading


@htmx.org | 2 years ago

10 Tips For Building SSR/HDA applications

Building web applications using traditional Server-Side Rendering (SSR) or, saying the same thing another way, building Hypermedia-Driven Applications (HDAs) requires a mindset shift when compared with building web applications with Single Page Application frameworks like React. … | Continue reading


@htmx.org | 2 years ago

10 Tips For Building SSR/HDA applications

Building web applications using traditional Server-Side Rendering (SSR) or, saying the same thing another way, building Hypermedia-Driven Applications (HDAs) requires a mindset shift when compared with building web applications with Single Page Application frameworks like React. … | Continue reading


@v1.htmx.org | 2 years ago

Two Approaches To Decoupling

The central feature that distinguishes the REST architectural style from other network-based styles is its emphasis on a uniform interface between components. By applying the software engineering principle of generality to the component interface, the overall system architecture … | Continue reading


@htmx.org | 2 years ago

Hypermedia APIs vs. Data APIs

Continue reading


@htmx.org | 2 years ago

htmx 1.7.0 has been released!

htmx 1.7.0 Release I'm happy to announce the 1.7.0 release of htmx. New Features The new hx-sync attribute allows you to synchronize multiple element requests on a single element using various strategies (e.g. replace) You can also now abort an element making a request by sending … | Continue reading


@htmx.org | 2 years ago

The Hypermedia-Driven Application (HDA) Architecture

Continue reading


@htmx.org | 2 years ago

How a hypermedia approach can address usability concerns with multi-page apps

Continue reading


@htmx.org | 3 years ago

htmx 1.6.1 has been released!

htmx 1.6.1 Release I'm happy to announce the 1.6.1 release of htmx. New Features A new HX-Retarget header allows you to change the default target of returned content The htmx:beforeSwap event now includes another configurable property: detail.isError which can be used to indicate … | Continue reading


@htmx.org | 3 years ago

HATEOAS – An Alternative Explanation

Continue reading


@htmx.org | 3 years ago

htmx 1.6.0 has been released!

htmx 1.6.0 Release I'm happy to announce the 1.6.0 release of htmx. New Features & Major Changes Completely reworked tag support that now supports the | Continue reading


@htmx.org | 3 years ago

Splitting Your Data and App APIs: Going Deeper

Continue reading


@htmx.org | 3 years ago

htmx 1.5.0 has been released!

htmx 1.5.0 Release I'm happy to announce the 1.5.0 release of htmx. New Features & Major Changes Support tracking of button clicked during a form submission Added the hx-request attribute, allowing you to configure the following aspects of the request timeout - the timeout of the … | Continue reading


@htmx.org | 3 years ago

Locality of Behavior

Continue reading


@htmx.org | 3 years ago

htmx 1.4.0 has been released!

htmx 1.4.0 Release I'm happy to announce the 1.4.0 release of htmx. New Features & Major Changes Added the queue option to the hx-trigger attribute, allowing you to specify how events should be queued when they are received with a request in flight The htmx.config.useTemplateFrag … | Continue reading


@htmx.org | 3 years ago

htmx 1.3.0 has been released!

htmx 1.3.0 Release I'm happy to announce the 1.3.0 release of htmx. New Features & Major Changes Support a target modifier on hx-trigger to filter based on the element targeted by an event. This allows lazy binding to that target selector. Events are no longer consumed by the fir … | Continue reading


@htmx.org | 3 years ago