NSGo

参与项目

开发环境

从源码构建 NSGo,运行 gallery 并测试改动。

环境要求

装有 Xcode 的 macOS 和 Go 1.26 或更新版本即可构建 arm64 的所有目标,包括 Android 的 APK。在设备上运行所需的条件见环境准备;x86_64 Android 模拟器目标 android_x64 还需要 Android NDK,因为 Go 只能通过 cgo 链接 android/amd64。Windows 安装程序需要 NSIS(brew install makensis),没有时 build 只留下它的脚本。

git clone https://github.com/oneo-me/nsgo.git
cd nsgo

修改代码前请先阅读 ARCHITECTURE.md 和 AGENTS.md。

gallery 为每个元素、base 和 ui 组件及服务各提供一个演示。宽窗口在侧边栏按选项卡列出演示,窄窗口在底部栏显示选项卡和设置,演示页面推入其上。在仓库根目录运行:

go tool nsgo dev examples/gallery                   # nsgo.yaml 的 dev 目标,应用退出后随之退出
go tool nsgo dev examples/gallery-tsx               # 用 TSX 编写的 gallery 组件和应用
go tool nsgo dev -target web examples/gallery       # 在浏览器中运行,直到中断
go tool nsgo dev -target ios_simulator examples/gallery
go tool nsgo dev -target ios examples/gallery       # 在已连接的 iPhone 上运行,由 Xcode 签名
go tool nsgo dev -target android examples/gallery   # 在已连接的设备或模拟器上运行,通过 adb
go tool nsgo build -target all examples/gallery     # 在 examples/gallery/dist 中生成所有平台的包,交付物在 dist/releases

检查与测试

go tool nsgo check                 # 检查所有包
go tool nsgo check -target all     # 同时为每个目标平台检查
go tool nsgo test                  # 运行所有包的测试
go tool nsgo test -bench . ./core  # core 的基准测试
bench/run.sh                       # 测量行情表基准

NSH

NSGo 把 Native Shell 作为设计参考,测试都不依赖它。需要阅读时,将它克隆到仓库旁边,并检出它的最新发行版标签,不要用 main:

git clone https://github.com/longbridge/nsh.git ../nsh
git -C ../nsh checkout "$(git -C ../nsh describe --tags --abbrev=0)"

下一步

在 GitHub 上编辑此页