diff --git a/README.md b/README.md new file mode 100644 index 0000000..780d405 --- /dev/null +++ b/README.md @@ -0,0 +1,104 @@ +# Iris + +WASM reactive UI framework for Go. + +## Quickstart + +Get from zero to a running app in under 5 minutes. + +### Prerequisites + +- Go 1.23 or later +- Copy the WASM support file: `cp "$(go env GOROOT)/misc/wasm/wasm_exec.js" ./public/` + +### Create your app + +```go +//go:build js && wasm + +package main + +import ( + "fmt" + + "git.flowmade.one/flowmade-one/iris/reactive" + "git.flowmade.one/flowmade-one/iris/ui" +) + +func main() { + count := reactive.NewSignal(0) + + view := ui.NewView() + view.Child(ui.TextFromFunction(func() string { + return fmt.Sprintf("Count: %d", count.Get()) + })) + view.Child(ui.Button(func() { + count.Set(count.Get() + 1) + }, ui.TextFromString("Click me"))) + + ui.NewApp(view) + + // Keep the program running + select {} +} +``` + +### Create the HTML host + +Create `public/index.html`: + +```html + + +
+ +