Skip to content

FlowUI Documentation

FlowUI is a Go desktop UI framework and component library built on Gio. It combines a typed MVU application model with reusable components, declarative styles, window management, asynchronous effects, and deterministic UI tests.

简体中文

FlowUI component gallery

Get started View the source

Reading path

Order Page What it covers
1 Getting started Install and run your first window
2 Core concepts Model, messages, keys, and ownership
3 MVU and messages Update, View, Cmd, and subscriptions
4 Layout Containers, constraints, and grids
5 Styling and themes Tokens, parts, states, and fonts
6 Components Public component families
7 Forms and controlled state Inputs, selection, and open state
8 Commands and subscriptions Effects, cancellation, and errors
9 Overlays and popups Menus, popovers, modals, and portals
10 Custom components Composition and custom layout
11 Multiple windows Application lifecycle and window state
12 Animation Transitions, tweens, springs, and timelines
13 Testing Harness and application tests
14 FAQ Common questions and troubleshooting
15 Gantt chart Tasks, dependencies, and editing
16 Component screenshots Visual reference for the examples
17 Node graph Nodes, ports, edges, and a controlled viewport

Repository map

Purpose Location
Public package github.com/qianniancn/flowui/ui
Runnable examples examples/
Go API reference pkg.go.dev

The guide targets application developers and uses only the public ui package. The internal/ tree is implementation detail.

Current versions

This documentation matches Go 1.26.2 and Gio v0.10.1. The single-window entry point is ui.Run(Program); use ui.Application when the process owns multiple windows or a longer lifecycle.