Skip to content

native-guiA lightweight cross-platform desktop GUI framework for MoonBit

Native window hosts, a self-drawn rendering pipeline, a complete widget set, and full system integration. One MoonBit codebase ships native Windows 🟩 / Linux 🟩 windows, with macOS 🟨 merged into master (real-machine verification in progress). Zero config after moon add.

Quick start ​

sh
moon add NoahLiu/native-gui
moonbit
fn main {
  let app = match @ui.mount_window(
    [@ui.text("Hello, MoonBit!", font_size=18.0)],
    title="Hello, MoonBit!",
    width=400,
    height=300,
  ) {
    None => {
      // no window backend or no display service on this platform
      return
    }
    Some(a) => a
  }
  app.run()
}

@ui.* comes from NoahLiu/native-gui/ui — the full package table is in the documentation index.