gomponents
templ
gomponents | templ | |
---|---|---|
8 | 33 | |
715 | 6,454 | |
5.6% | - | |
5.9 | 9.6 | |
3 days ago | 6 days ago | |
Go | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gomponents
-
Templ: A language for writing HTML user interfaces in Go
I'm really happy you like it. :) And thank you for your comment, I really appreciate newcomer viewpoints especially.
Have a look at the `Classes` helper component already available: https://github.com/maragudk/gomponents/blob/main/components/...
Yeah, I'm not a total fan of the runtime panics, but it was a tradeoff where I chose in favour of API simplicity and readability. In practice, it works out well, because you catch any typos at development time.
I've had elements and attributes in separate packages before, but then you can't dot-import both packages and not have name clashes, and have to either prefix elements or attributes with the package name, which makes the code much less readable. Again, a tradeoff. :)
-
Template Engine Recommendation
Gomponents:
-
HTML Templates | Why would you use them over react?
I now always use https://github.com/maragudk/gomponents for frontend components (I'm the author of that library) together with HTMX (https://github.com/maragudk/gomponents-htmx), and it's just so much more fun and fast to work with.
-
How to render html children inside nested templates
However, there is an alternative to achieve React-ish components in Go using this package: https://github.com/maragudk/gomponents
-
Daz: Composable HTML components in golang
reminds me of https://github.com/maragudk/gomponents
-
How painful is SSR with Go, really?
I’ve also started just rendering views from the Go backend. It’s so nice and simple when you don’t need an SPA (like in your case). I didn’t like the syntax of html/template though, so I started a small view component library. Maybe it would be useful to you too, wrote about it here: https://www.maragu.dk/blog/gomponents-declarative-view-components-in-go/
-
How I build web frontends in Go
Are you speaking of something like: gomponents? I can see what it has to offer. I tried it for half an hour but did not feel that well about it.
templ
-
🤓 My top 3 Go packages that I wish I'd known about earlier
✨ In recent months, I have been developing web projects using GOTTHA stack: Go + Templ + Tailwind CSS + htmx + Alpine.js. As soon as I'm ready to talk about all the subtleties and pitfalls, I'll post it on my social networks.
-
Go + Hypermedia - A Learning Journey (Part 1)
Templ - HTML templating for Go
-
Go Beyond the Basics: Mastering Toast Notifications with Go and HTMX
html/template - we will be using the standard HTML templating library built into Go. It is a great library and perfect for simple things like this, though if you have a more complicated project (I assume you do), I would look into using something like templ.
- Templ – Build HTML with Go
- Show HN: CPU Prices on eBay
-
LuaX: A Lua Dialect with JSX
Cool project and if it works for you and you're happy, that's all what counts.
When I read the article, I was thinking that Go templates were used wrong. I was thinking there must be a way to define the template so you inject the content and don't need to define the start and the end of the html, but instead yield a block of other html as some kind of argument. I was trying to look it up, but couldn't find documentation on this. Maybe the author is right and I'm wrong.
And I was wondering why the author isn't using something like Templ [0], which is kind of JSX with Go as hosting language. Probably because it needs the preprocessor / compile step?
[0] https://github.com/a-h/templ
- Templ: A language for writing HTML user interfaces in Go
What are some alternatives?
hyperscript - Create HyperText with JavaScript.
go-htmx-examples - go-htmx-examples
go-admin - A golang framework helps gopher to build a data visualization and admin panel in ten minutes
quicktemplate - Fast, powerful, yet easy to use template engine for Go. Optimized for speed, zero memory allocations in hot paths. Up to 20x faster than html/template
vecty - Vecty lets you build responsive and dynamic web frontends in Go using WebAssembly, competing with modern web frameworks like React & VueJS.
pongo2 - Django-syntax like template-engine for Go
goview - Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application.
bass - a low fidelity scripting language for project infrastructure
vugu - Vugu: A modern UI library for Go+WebAssembly (experimental)
mustache - The mustache template language in Go
html - html is a go library for generating html components such as buttons, form fields, forms, tables and more using golang.
Plush - The powerful template system that Go needs