Build Desktop GUIs with Risor Scripts
Fynerisor provides Risor v2 script bindings for the Fyne GUI toolkit, enabling you to create interactive desktop applications using a simple scripting language.
Features
- ๐จ 48+ Widgets - Buttons, forms, tables, trees, and more
- ๐ Charts - Bar, line, scatter, histogram, and box plot visualizations
- ๐ Browser Package - Reusable browser UI for navigable, script-driven apps
- โจ๏ธ Keyboard Shortcuts - Global shortcuts and menu integration
- ๐ง Embeddable - Use as a library in your Go applications
- ๐ฆ Module System - HTTP, SQL, OS, File I/O, Time, and String utilities
- ๐ Import System - Load scripts from local files or HTTP(S) URLs with namespace isolation
- ๐งต Concurrency - Background tasks with
go()and safe GUI updates - ๐ฑ Cross-Platform - Linux, Windows, macOS, Android
- โก Static Compilation - Headless mode with no GUI dependencies
Example
Quick snippet (simplified for brevity - view full example on GitHub โ):
require(["v0.6", "@gui"])
let count = 0
let label = widget.NewLabel(sprintf("Count: %d", count))
let btn = widget.NewButton("Click Me", () => {
count = count + 1
label.SetText(sprintf("Count: %d", count))
})
let vbox = container.NewVBox([btn, label])
window.SetContent(vbox)