Skip to content

markschellhas/linnui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LinnUI

LinnUI

LinnUI is a modern, pure-Go UI framework inspired by declaritive UI frameworks like Flutter, SwiftUI and Jetpack Compose, built on Gio for creating beautiful, reactive, cross-platform desktop, mobile, and web applications from a single codebase.

Features

  • Flutter-like API: Composable widgets (Scaffold, Column, Row, Container, etc.) with concise, declarative syntax.
  • Reactive state: Svelte-inspired stores that automatically update the UI on changes.
  • Beautiful defaults: Modern Material 3-inspired themes with light/dark mode and smooth animations.
  • Pure Go: No webviews, no cgo — tiny static binaries with GPU acceleration.
  • True cross-platform: Native desktop (Windows/macOS/Linux), mobile (via Gomobile), and WebAssembly.

Quick Example

package main

import (
	"gioui.org/app"
	ui "github.com/markschellhas/linnui/ui" 
)

func main() {
	// 👉 LinnUI reactive state for counter 
	count := ui.NewState(0)

	go func() {
		w := new(app.Window)
		w.Option(app.Title("LinnUI Counter"))
		count.Bind(w) // enable auto-redraw

		// UI loop...
		app.Main()
	}()
}
// UI loop:
func run(w *app.Window) error {
	var ops op.Ops
	th := Light

	for {
		switch e := w.Event().(type) {
		case app.DestroyEvent:
			return e.Err
		case app.FrameEvent:
			gtx := app.NewContext(&ops, e)
      
      // 👉 LinnUI Center & Text component
			Center(Text("Oh, hi Mark"))(gtx, &th)
      
			e.Frame(gtx.Ops)
		}
	}
}

(See examples/counter for the full reactive counter demo.)

Installation

go get github.com/markschellhas/linnui/ui

Why LinnUI?

Go developers deserve modern, joyful UI tooling without compromises. LinnUI fills the gap between low-level Gio and bloated webview solutions.

Status

Early development (v0.1-alpha) — API subject to change. Contributions welcome!


Copyright (c) 2025-2026 Mark Schellhas. All Rights Reserved.

About

A declarative UI framework for Go

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages