2 ms·
> I still don't understand the idea of reinventing HTML in another language. I switched from using golang templates with hand-crafted HTML to gomponents[1] a f
by gwd 2y ago
> I still don't understand the idea of reinventing HTML in another language.
I switched from using golang templates with hand-crafted HTML to gomponents[1] a few months ago, and it's been amazing. It is so so so much easier to write re-usable components, so much easier to express complicated conditionals, so much nicer to have a type checker helping you not make mistakes.
And of course I like gomponents for the same reason (I presume) JS-oriented people like NodeJS: It's just a lot nicer to have as much as possible written in the same language, be it JavaScript or Golang.
[1] https://www.gomponents.com/ https://www.gomponents.com/
- novoreorx 2y agogomponents look better; at least the `h.` prefix could be omitted. Also, it serves a simpler purpose than htmgo. What do you think about https://templ.guide/ https://templ.guide/? To me, the ability to still write raw HTML in Go is incomparable.
- maddalax 2y agoWhat makes you believe the prefix can’t be omitted in htmgo? You just alias it the same way with a ‘.’
- novoreorx 2y agoSorry, I made a mistake. I thought the HTML tag functions were accessed through `ctx`, which is passed to the page function. It's true that we can import them directly to access `Div`, `Class`, etc.
- maddalax 2y agoI’m not quite sure what the roadmap looks like for gocomponents but it looks similar but I think it’s only filling one part of the puzzle. My plan for htmgo is to become essentially a ready to use framework for building your whole app, using very fast/lean modules, similar to Ruby on Rails, especially rails 8, and not just an HTML builder