A reactive component framework for building TUIs and web SPAs in pure Go with a signal-based architecture.
Loom is a reactive component framework for Go that enables developers to build user interfaces for terminal applications (TUIs) and web single-page applications (SPAs) using a signal-based architecture. It solves the problem of creating dynamic, responsive UIs in Go without requiring external compilers or complex setup.
Go developers building terminal-based tools, dashboards, or lightweight web applications who want a modern, reactive UI framework with declarative components.
Developers choose Loom for its pure Go implementation, concurrency-safe reactive model, and multi-platform support, offering a streamlined alternative to heavier UI frameworks while maintaining Go's simplicity and performance.
The reactive framework for Go.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses Go's standard compiler without extra dependencies, making setup straightforward and integration seamless, as highlighted in the README's 'Pure Go' feature.
Built-in backends for both terminal UIs and web SPAs enable code reuse across interface types, per the 'Multi-plateform' feature in the README.
Signal-based architecture ensures safe state updates in concurrent environments, demonstrated in the counter example with goroutines and signals.
JSX-like syntax allows structured UI definition with components, improving maintainability, as noted in the 'Components' feature.
As a newer framework, Loom lacks extensive third-party libraries, examples, and community support compared to established options like React or Fyne.
Core documentation is hosted off-site at loomui.dev, and the GitHub README is minimal, which can hinder quick onboarding without visiting external sources.
Focused on SPAs, it may not natively handle server-side rendering, SEO optimization, or advanced browser APIs, limiting use in complex web scenarios.