「#」

The reactive framework for Go.


GET STARTED ->

Loom is a lightweight UI framework used to build Terminal UIs and Web SPAs.

It lets you write surprisingly concise UI components in pure Go, that can be brought to life with reactive signals, and do expensive work in goroutines.

If you’re coming from SolidJS or ReactJS, you’ll feel right at home.



A simple counter

func Counter() Node {
	count, setCount := Signal(0)

    go func() {
        for {
            time.Sleep(time.Second)
            setCount(count() + 1)
        }
    }()

	return P(Text("Count: "), BindText(count))
}
MORE EXAMPLES ->


Features

[*] Pure Go | No extra compiler. Use the tools you already know.

[*] Multi-plateform | The only thing loom needs is a renderer. Build a UI for your calculator if you want.

[*] Signal-based | Performant fine-grained reactive updates. You decide what part of the tree gets to update.

[*] Concurrency-safe | Run goroutines from your components and update signals from them. It’s built for that!