Latest release
» Shirei v0.6.6 — Release packaging
Getting Started
Import package name: go.hasen.dev/shirei
Github repo: https://github.com/hasenj/go-shirei
Copy the code sample above to a new file in an empty directory, then run the
following to download the dependencies:
❯ go mod init main
❯ go mod tidy
❯ go run .
You can browse the demo directories on the github repo for more examples.
Read the Tutorial →
Core Features
-
Native. Real computer program (binary executable): not a "web page".
-
Cross platform. macOS/Windows/Linux(Wayland/X11)/iOS/Android.
-
No boilerplate setup. Start writing application code right away.
-
Plain-data UI. Build the current interface using ordinary Go values,
loops, and conditionals. No need to create and synchronize application-owned
widget objects.
-
Integrated framework. Shirei owns the window and update lifecycle.
Controls, robust text editing, virtual lists and tables, modal and focus
helpers, software rendering, and headless snapshots work with the same layout
and input machinery.
-
Flexbox-like layout. Containers arrange items horizontally or vertically,
with options for padding, gaps, alignment, wrapping, floating, scrolling, and
size expansion.
-
Robust text support. Bidirectional layout, shaping, IME, system fonts,
inline text styling.
-
Audio output. Low-level sample streams that work on all platforms.
-
Platform layer access. Extension packages can support platform features
that are not included in Shirei itself.
-
Deterministic full-interface testing. Render the normal application frame
to an image without opening a native window or requiring a GPU.
-
Ordinary Go background work. Publish state from goroutines and request an
update when new data is ready.
-
Release packaging. shirei_bundle produces signed iOS IPAs, release
Android APKs, macOS app/zip/pkg packages, and Linux and Windows archives.shirei_mobilerun provides fast development installs on phones and
simulators.
For the full picture — the application model, layout mechanics, colors and text
styling, interaction, application patterns, and a reference section of common
mistakes — see the full tutorial.
Examples
The following example programs ship with Shirei and are useful programs in
their own right.
Each card links to that example's directory on GitHub, with a README and the
full source. They live under examples/ in the go-shirei
repo and run with go run ./examples/<name> after cloning.