3 ms·
Well, the thing is, FastHX, htmy, and holm should be powerful an unopinionated. Think of them like ReactDOM, React, and Next.js. On the other hand, I already t
by volfpeter 1y ago
Well, the thing is, FastHX, htmy, and holm should be powerful an unopinionated. Think of them like ReactDOM, React, and Next.js.
On the other hand, I already thought about building a component library for htmy. I'd prefer to do it with TailwindCSS and DaisyUI, or I could use for example BasecoatUI https://basecoatui.com/ https://basecoatui.com/ as a template, because it already offers Jinja-like component snippets.
Now that I have holm as well, I may eventually do it. It's a lot of work though, finding so much spare time is hard.
FastUI is now Reflex. They essentially build a FastAPI + NextJS app combo from your code (maybe they already swapped NextJS for something else). NiceGUI is similar as well.
For my projects, I really want to avoid a big JavaScript companion app, so interactivity will remain HTMX, pure JS where needed, or AlpineJS for example. I'm also thinking about a server-component concept for HTMX with holm, but I don't have a clear plan just yet. I can think about these more now that I have holm.
- hunvreus 1y agoThanks for mentioning Basecoat. Funny enough, I've used a very similar stack (HTMX + FastAPI) for /dev/push [1]. Code is available there: https://github.com/hunvreus/devpush https://github.com/hunvreus/devpush Planning on checking out holm soon. [1]: https://devpu.sh https://devpu.sh
- volfpeter 1y agoIt's a shame you did all the rendering manually :) FastHX would have simplified your life a bit. devpush seems really interesting! I wasn't aware of it, but I'll check it out! It also looks great (no surprise there, it's Basecoat). Although I usually go with DaisyUI, Basecoat is a vey good source for ideas and more complex component patterns. This is why I feel translating Basecoat snippets to htmy wouldn't be that much trouble, and I'm seriously considering starting it.
- hunvreus 1y agoI believe I checked FastHX while building it, but wasn't clear what the main advantage was. Can you help me understand what problems I'd solve with it?
- volfpeter 1y agoIt's just sugar. It hides the manual template selection, context creation, and rendering logic behind a simple decorator. This way you always write standard FastAPI routes (or you add HTML rendering to existing JSON APIs without changing the route or breaking the existing functionality). With htmy, it does a bit more, like adding some utilities to the rendering context, adding context processor support, simplify rendering, letting you statically check whether your components receive the correct properties.