WASM reactive UI framework for Go: - reactive/ - Signal[T], Effect, Runtime - ui/ - Button, Text, Input, View, Canvas, SVG components - navigation/ - Router, guards, history management - auth/ - OIDC client for WASM applications - host/ - Static file server Extracted from arcadia as open-source component. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
37
vision.md
Normal file
37
vision.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Iris Vision
|
||||
|
||||
WASM reactive UI framework for Go - build browser applications without JavaScript.
|
||||
|
||||
## Organization Context
|
||||
|
||||
This repo is part of Flowmade. See [organization manifesto](../architecture/manifesto.md) for who we are and what we believe.
|
||||
|
||||
## What This Is
|
||||
|
||||
Iris is an open-source UI framework that enables Go developers to build reactive browser applications compiled to WebAssembly. It provides:
|
||||
|
||||
- **Signals-based reactivity** - Automatic DOM updates when state changes
|
||||
- **Component library** - Button, Text, Input, View, Canvas, SVG
|
||||
- **Client-side routing** - Router with guards and history management
|
||||
- **OIDC authentication** - Browser-based auth flows for WASM apps
|
||||
- **Static file server** - Host component for serving WASM applications
|
||||
|
||||
## Who This Serves
|
||||
|
||||
- **Go developers** who want to build web UIs without learning JavaScript
|
||||
- **Teams** building internal tools and dashboards
|
||||
- **Projects** that benefit from shared Go code between server and client
|
||||
|
||||
## Goals
|
||||
|
||||
1. **Simple reactivity** - Signals that just work, no complex state management
|
||||
2. **Familiar patterns** - Go idioms, not React/Vue patterns forced into Go
|
||||
3. **WASM-first** - Designed for WebAssembly, not ported from elsewhere
|
||||
4. **Minimal dependencies** - Only syscall/js for browser interop
|
||||
|
||||
## Non-Goals
|
||||
|
||||
- Server-side rendering (SSR)
|
||||
- Virtual DOM diffing
|
||||
- CSS-in-Go styling system
|
||||
- Component marketplace
|
||||
Reference in New Issue
Block a user