Go + htmx 4 + gsxui на Cloudflare Workers

Компоненты gsx с рендерингом на сервере, htmx 4 для запросов, hx-live для локального состояния, D1 и Durable Objects для обновлений в реальном времени. Go компилируется с помощью TinyGo. Без Node и без сборщика.

Обслуживаетtinygo js/wasmenvcloudflare
Запрос к серверу и обратно
Форма gsxui отправляется через hx-post. Сервер отвечает фрагментом gsx и всплывающим уведомлением вне основного обмена (OOB).
Диалог + hx-get
Содержимое диалога загружается с сервера при каждом открытии.

Сведения о сервере

Отрисовано компонентом gsx по запросу.

Загрузка…
Вкладки + ленивая панель
Панель «Статистика» загружается один раз — при первом нажатии на её вкладку.
Эта панель отрисована вместе со страницей.
Состояние на клиенте с hx-live
Без обращения к серверу: счётчик, выпадающее меню, переключатель и фильтр на лету.
Счётчик:0
  • badge
  • button
  • button-group
  • card
  • dialog
  • empty
  • field
  • input
  • item
  • label
  • native-select
  • separator
  • switch
  • tabs
  • toast
  • toaster
Обновления в реальном времени
D1 и Durable Object для каждой темы отправляют любое изменение во все открытые вкладки через hx-ws.