Skip to content
Documentation

Documentation

New to Bellui? Start with Get started, then read Concepts before the rest.

The API reference for every package is on pkg.go.dev.

Concepts
The ideas every Bellui app is built on - the app and its windows, canvas objects, the UI thread, input events and resources.
Layout
Arrange widgets with containers and layouts - boxes, borders, grids, scrolling, splits, tabs, responsive rows and your own layouts.
Widgets
The Material Design 3 widget set in the widget package, grouped by what you use each widget for.
Theming
The Material Design 3 default theme, light and dark variants, custom themes, icons, fonts, scaling and right-to-left layout.
Data and state
Keep widgets in step with your data, using data binding or the flow package for reactive state.
Dialogs
Show messages, ask questions, collect input, and let people pick files, folders and colours.
Localisation
Translate your app, switch language at runtime, and format dates, numbers and money the way each locale expects.
Accessibility
What Bellui exposes to screen readers on each platform, how to turn it on, and how to make your own widgets accessible.
Custom widgets
Build your own widgets from canvas primitives, or extend an existing widget with new behaviour.
Files and storage
Read and write files through URIs, keep user preferences, and store documents in the app’s private area.
Testing
Test your UI with go test, an in-memory app and window, simulated input and golden files.
Packaging and distribution
Use the bellui command to build, package, install and release your app on every platform.
Platforms
What is specific to desktop, mobile and web apps, and how to use each platform’s extras.
Advanced topics
Sign-in, analytics, web content, developer tools, native views, animation and drag and drop.