I’m really enjoying the new Streaming HTML workflow in Kitten…
In this 15 second video, I cycle through the options in a selection box using the keyboard and the rest of the interface updates in response.
There’s no custom client-side JavaScript making it happen.
It’s all server side.
The changes stream to the client as HTML and are morphed into place via idiomorph.
So simple and maintainable.
I mean, if there is a simpler way to build web apps, I haven’t seen it.
I can’t wait for more folks to start playing with this. One of the things I’m hugely looking forward to is writing up a web development curriculum that teaches you how to build web apps and sites using #Kitten.
You’ll be learning the foundations of the web – HTML, CSS, and JavaScript – and making useful web apps with persisted data, etc. (not to mention peer-to-peer #SmallWeb apps) without the bloat of Big Tech.
PS. Idiomorph isn’t seamlessly integrated into Kitten yet. I plan to integrate it tomorrow. (I’m basically sharing with you stuff that I got running minutes prior to recording a video. So expect a little time between what you see on my screen and a polished version you can use on yours.) :)
Right, #idiomorph¹ is now integrated into #Kitten² and enjoys first-class support via the <page> tag like #htmx itself, the htmx #WebSocket extension, Alpine.js, and Water semantic #CSS library.
It’s auto-loaded for you if you expose `onConnect()` handlers in your pages when using the new #StreamingHTML workflow.
(You must still manually add `htmx-swap-oob='morph'` to elements you want to morph. I might add syntactic sugar for this later.)
¹ https://github.com/bigskysoftware/idiomorph/tree/main?tab=readme-ov-file#%EF%B8%8F-idiomorph
@aral ooh, I'd be interested in that!
@sofiav Yay, will definitely make noise about it when it happens :)
@aral that would be really cool! As someone with a programming background but not Javascript and little HTML/CSS knowledge a foundational course would be very helpful for getting started.
@fuzzyface That’d be me.
And the reason you can’t find any tutorials is because they don’t yet exist. Because I’m still working on the first stable release.
@aral Whilst I respect your technical abilities, your effort, your motives and just about everything else I've seen from you, please don't name anything else without checking with us first.
@fuzzyface I quite like the name, actually. I’m not trying to win any SEO contests; word of mouth will do me just fine :)
@aral In that case can I please join any relevant mailing list you may have. I'm not great at searching, so otherwise I'm buggered.