Go + htmx 4 + gsxui on Cloudflare Workers

Server-rendered gsx components, htmx 4 for requests, hx-live for local state, D1 and Durable Objects for live updates. Go compiled with TinyGo. No Node, no bundler.

Served bytinygo js/wasmenvcloudflare
Server round-trip
hx-post a gsxui form. The server answers with a gsx fragment and an out-of-band toast.
Dialog + hx-get
The dialog body is fetched from the server each time it opens.

Server info

Rendered by a gsx component on request.

Loading…
Tabs + lazy panel
The Stats panel loads once, the first time its tab is clicked.
This panel was rendered with the page.
Client state with hx-live
No server round-trip: a counter, a dropdown, a toggle and a live filter.
Count:0
  • badge
  • button
  • button-group
  • card
  • dialog
  • empty
  • field
  • input
  • item
  • label
  • native-select
  • separator
  • switch
  • tabs
  • toast
  • toaster
Live updates
D1 plus a Durable Object per topic push every change to all open tabs over hx-ws.