~/talk

Building dynamic web apps with Kotlin, WebComponents and Htmx

Talkat NDC Oslo 2025 · 2025-05-19..05-23· [web-platform, kotlin]
slides:none on file

Claims that a Kotlin backend using Kotlinx.html + HTMX + WebComponents delivers SPA-like UX while keeping one stack, reducing duplication and speeding API changes. Demo shows a data-table app with live search, add/remove cart with out‑of‑band updates, lazy loading and a GitHub relative-time element, driven by server-rendered fragments because HTMX sends HTML not JSON. Cites a migration case of 67% less code and demonstrates the approach working end-to-end with minor live-demo hiccups.

AI-written summary · about

  1. 0:00Dynamic web apps intro
  2. 1:01Frontend-backend separation issues
  3. 4:55Most apps are tables forms modals
  4. 7:10Modern dev desired features
  5. 8:52What is HTMX and why
  6. 11:40HTMX simplifies frontend
  7. 13:51HTMX load examples
  8. 17:00HTMX attributes explained
  9. 19:30HTMX with web components
  10. 20:12Web components basics
  11. 22:22HTML vs custom elements
  12. 23:50HTML component examples
  13. 24:53Built-in elements and libraries
  14. 28:11Tech stack Kotlin HTMX WebComponents
  15. 29:21Live demo setup
  16. 31:49Demo search lazy load
  17. 32:52Demo details form interactions
  18. 34:03Demo update multiple elements
  19. 37:12Demo Kotlin XHTML DSL reload
  20. 38:41Kotlin XHTML DSL walkthrough
  21. 41:13HTMX fragments server endpoints
  22. 42:38GitHub relative time component
  23. 43:20HTMX offline limits
  24. 47:16Testing HTMX Kotlin
  25. 48:20When not to use HTMX
  26. 50:51Rule of least power
  27. 51:36Baseline project support
  28. 53:42Alternative stacks approach
  29. 55:03Stack benefits testability
  30. 55:45Pitching HTMX management
  31. 56:48Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.