MyGo

7小时前发布 2 0 0

MyGo 是一套使用 Go 语言开发桌面应用的框架,是支持两种窗口界面模式,同一个程序里可以同时混用两类窗口,并且全程纯Go实现、不依赖cgo。

收录时间:
2026-10-06
MyGoMyGo
MyGo

为什么关注 MyGo?

在跨平台桌面开发领域,开发者长期面临两难选择:Electron 开发顺手但动辄占用几百兆内存;Wails 或 Tauri 虽大幅瘦身,但在构建复杂原生体验或类型安全交互时仍有痛点。

MyGo 的定位非常明确:不仅支持基于系统原生 Webview 的 Web 前端,还允许直接使用纯 Go 渲染原生 UI。

MyGo

MyGo 网站截图

传统 Electron 应用:打包体积 > 100MB | 内存占用 200MB+
MyGo 应用:原生系统 Webview / 纯 Go GPU 渲染 | 秒级启动与极致轻量

MyGo 的四大核心特色

1. 灵活的双渲染模式(Webview 或 纯 Go Native UI)

MyGo 允许在一个应用中混用两种界面形式:

  • Web 模式: 直接调用系统内置 Webview(macOS 上为 WKWebView,Windows 为 WebView2,Linux 为 WebKitGTK),支持用任意前端框架(React、Vue、Svelte 等)编写 UI。

  • 纯 Go Native UI 模式: 依靠 package ui 直接在 GPU 上绘制原生界面,完全无需 HTML/JS/Webview,开窗速度达到毫秒级,内存消耗极低。

2. 全类型安全的 Go ↔ TypeScript IPC 通信

在 Web 模式下,MyGo 摆脱了传统“基于字符串频道”的粗暴 IPC 传递。你可以直接在 Go 中定义结构体和服务方法,MyGo 会自动生成对应的 TypeScript 客户端接口。

前端调用 Go 后端方法就像调用本地函数一样,享受全套类型提示与编译期检查。

Go
// Go 端绑定服务
type Greeter struct{}
func (Greeter) Greet(name string) string { return "Hello, " + name }
TypeScript
// TS 端直接调用(自动推导类型)
import { Greeter } from "./mygo";
document.body.textContent = await Greeter.greet("Ada");

3. 严格无 cgo 依赖(Zero cgo)

为了实现真正的轻量与极致跨平台交叉编译,MyGo 遵循 CGO_ENABLED=0 的硬性设计原则。它没有通过 CGO 链接庞大的 C/C++ 库,而是通过平台底层的纯系统调用(Syscall / Purego)直接通信,大幅简化了 CI/CD 构建与分发链路。

4. 开箱即用的全生命周期打包与更新

MyGo 不仅仅是一个 UI 框架,更是一套完备的桌面发布方案:

  • 多平台构建: 支持打包 macOS .app / .dmg、Windows 安装包以及 Linux Debian 软件包。

  • 发布级特性: 内置代码签名(Code Signing)、公证(Notarization)支持。

  • 增量更新: 集成了类似 Sparkle 的已签名自动更新系统(支持 Delta 增量更新与原生更新弹窗)。

适用场景

  • 轻量级工具与效率软件: 追求极致启动速度与超低内存占用的桌面客户端。

  • 全栈 Go 开发者: 希望用熟悉的 Go 语言统一后端逻辑与桌面 UI,无需折腾复杂的 CGO 环境。

  • 前端开发者: 想利用现有的 Web 栈开发桌面应用,但不想承受 Electron 的体积负担。

结语

从纯 Go GPU 渲染到无缝的 TS 类型生成,MyGo 展现出了极高的工程设计感。如果你正在寻找一个现代、干净且对 Golang 开发者极度友好的桌面框架,不妨去 GitHub 点个 Star,亲自上手体验一下!

MyGo官网入口及最新网址获取办法

1. 官网入口:https://github.com/egoist/mygo

2.秘塔AI搜索:打开访问秘塔官网,输入框内输入“MyGo官网地址”,点击搜索

3.Bing或百度搜索:打开访问百度 或必应搜索框输入“MyGo官网地址”,点击搜索

MyGo官网打不开?

1.使用手机浏览器访问:建议您使用手机浏览器打开MyGo网站。微信或QQ可能会屏蔽部分未备案或敏感的网站,因此请确保通过浏览器或手机浏览器直接访问,避免因平台限制而导致无法打开。

2.选择合适的浏览器:如果浏览器提示MyGo网站违规,这可能是浏览器厂商对该网址进行了屏蔽,并非网站本身存在问题。建议您使用不会屏蔽网站的浏览器,例如苹果手机用户可以使用自带的Safari或Chrome浏览器,以确保正常访问。

3.检查网络连接:部分小网站可能未针对三大运营商(电信、联通、移动)进行优化,从而导致网络连接问题。您可以尝试切换到更稳定的网络,例如使用加速器将网络切换至电信等优质运营商。如果仍无法访问,可以来李同学导航网寻找MyGo的最新网址。部分网站可能需要科学上网(但不推荐此方法)。

以上方法可解决大部分无法打开MyGo网站的问题。如果问题依旧,请及时举报与反馈。如有其他疑问,欢迎在线留言,我们将竭诚为您服务。

特别声明

本站李同学导航提供的MyGo都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由李同学导航实际控制,在2026年10月6日 下午11:30收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,李同学导航不承担任何责任。

相关导航