lobehub/lobe-mygo
开发工具将 Lobe UI 组件与设计令牌带到用 MyGo 构建的原生 Go 桌面应用的 UI 工具库。
项目介绍
Lobe MyGo 把 Lobe UI 的设计语言移植到 MyGo 的原生 Go UI 上,让桌面应用无需 HTML、JavaScript 或 webview 就能使用类似 React 的组件。它提供 70 多个组件,覆盖按钮、输入框、选择控件、展示、反馈、浮层、导航、布局、代码和 Markdown,并包含由 @lobehub/ui 生成、明暗自动适配的主题令牌,弹簧与共享元素过渡动画,以及 2300 多个以 Go 函数形式提供的 Lucide 图标。适合使用 MyGo 构建原生桌面界面的 Go 开发者。
库本身是纯 Go、无 cgo,按项目说法可生成较小的跨平台二进制并从任意机器交叉编译。令牌系统让 Go 应用与 React 应用共享颜色、圆角、字号和外观行为。
快速使用
前提是 Go 1.27 或更高版本,并已有基于 MyGo 的项目。
go get github.com/lobehub/lobe-mygo
README 的最简示例在每个视图顶部调用 theme.Apply(c),用 theme.TokensOf(c) 读取设计令牌,并在 MyGo 窗口中使用 action.Button:
package main
import (
"fmt"
"log"
"github.com/egoist/mygo"
"github.com/egoist/mygo/ui"
"github.com/lobehub/lobe-mygo/pkg/action"
"github.com/lobehub/lobe-mygo/pkg/theme"
)
var count int
func view(c *ui.Context) {
theme.Apply(c)
ui.Column(c).Fill().Center().Gap(12).Background(theme.TokensOf(c).BgContainer).Children(func() {
if action.Button(c, "Hello Lobe", action.ButtonProps{Variant: action.Primary}).Clicked() {
count++
}
ui.Text(c, fmt.Sprintf("Clicked %d times", count))
})
}
func main() {
mygo.App.WhenReady(func() {
mygo.NewWindow(mygo.WindowOptions{Title: "Hello Lobe", Width: 480, Height: 320, Content: ui.View(view)})
})
if err := mygo.App.Run(); err != nil {
log.Fatal(err)
}
}
浏览组件可从入门文档进入在线站点,或在本地运行原生目录。克隆仓库后,go run ./catalog 打开目录窗口,go run ./catalog button/basic 打开单个组件页。要运行基于 WebAssembly 的文档站,执行 bun install && bun run dev;组件演示位于 catalog 目录。
使用约束
- 最低要求 Go 1.27,并依赖 MyGo 的原生 UI。
- 这是 MyGo 的 UI 层而非独立 GUI 框架,需要已有的 MyGo 应用结构。
- 本地开发文档站需要额外安装 Bun。
- 项目采用 MIT 许可证 (28)。
- README 称无 cgo 且支持交叉编译,但未说明具体操作系统或 GPU 后端的兼容范围。
HotRepo 点评
Lobe MyGo 在 2026-11-09 进入 HotRepo 的 Go 新项目榜,记录的增长窗口内新增 104 Star、1 Fork。对一个新仓库来说这是早期关注,实际价值取决于你是否需要 Lobe UI 的观感和令牌兼容。技术上最值得关注的是与 Lobe UI 共享的设计令牌层和纯 Go 渲染路径;接下来应查看组件目录,确认你需要的那部分组件已经具备。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。
相关推荐
- vivaui/viva用 Go 构建原生桌面应用,直接走各平台自己的窗口与 GPU API,不依赖 WebView,也不打包运行时。
- yappologistic/CUIC 语言原生 UI 组件库,约 190 个组件,支持 Windows、macOS 和 Linux 跨平台桌面应用。
- Caho1/open-claude-ui把 Claude 官方桌面端的设计系统与动效物理逆向还原成 React 组件库,供人直接抄用。
- oneo-me/nsgo用 Go 编写跨平台应用,各平台以自身原生视图渲染界面。
- egoist/mygo-music用 Go 编写的原生桌面音乐播放器,本地文件开箱即用,并通过 JavaScript 插件扩展在线曲库与账号。