Event Details

KCDC: Hypermedia Systems - past is now future

June 26th, 2024

This is an all-day event that lasts for 3 days

This talk describes building web applications focused on hypermedia, an approach that differs significantly from the SPA frameworks popular today such as React and Angular.

Today, web apps typically use client-side JavaScript code to send HTTP requests to server endpoints that query/update databases and return JSON data. The client code then transforms JSON into an HTML presentation. This is not what Roy Fielding had in mind when he wrote his famous dissertation "Architectural Styles and the Design of Network-based Software Architectures" that gave birth to REST.

Htmx is a small client-side JavaScript library that adds support for new HTML attributes. These enable responding to specific interactions (ex. click) with any HTML element by sending an HTTP request using any verb. The response must contain HTML. Rather than performing a complete page refresh, the returned HTML replaces an existing DOM element or is inserted relative to one.

The server can be implemented using any programming language and server framework. While htmx itself is implemented in JavaScript, htmx enables writing complete web applications without authoring any JavaScript code.

Interest in htmx exploded in 2023 after YouTube videos from ThePrimeagen and Fireship were released.

Topics covered will include:

- Introduction to htmx
- Example htmx todo app
- Server-side options
- Specifying interactions that trigger requests
- Specifying server endpoints
- Specifying targets for returned HTML
- Out-of-band updates
- Using endpoints that return JSON

For more information, click here.