WebToApp 中文文档 下载 App

Go 运行时:Gin/Echo/Fiber 单二进制极速启动

Go 为什么适合移动端后端

和 Node.js、PHP、Python 相比,Go 在 WebToApp 里的体验有几个天然优势:

  1. 单二进制:Go 编译后产出一个可执行文件,不需要运行时解释器、不需要依赖目录
  2. 极速冷启动:不需要 fork 后再加载解释器,进程起来就是跑
  3. 低内存占用:Go runtime 的内存效率比 Node/Python 好不少
  4. 交叉编译:在电脑上用 GOARCH=arm64 go build 就能直接产出 arm64-v8a 的二进制

创建流程

  1. 先在电脑上交叉编译:
   GOOS=android GOARCH=arm64 go build -o app-server main.go
  1. 把编译好的二进制文件和项目的其他资源(静态文件、模板等)放到一个目录里
  2. 打开 WebToApp 类型选择器(需开启高级功能),点「Go」卡片
  3. 在专属表单里:
  1. 在基本信息里填应用名称和图标
  2. 点击保存

为什么要预先编译

WebToApp 的 Go 类型不会在手机上执行 go build——它直接把你提供的二进制打包进 APK,fork+exec 启动即可。这是有意为之:

内置示例项目

包含 Gin 框架的入门示例,展示路由定义、中间件、JSON API。示例的二进制文件已经编译好,直接可以用。

注意事项

  1. CGO:如果你的项目用了 CGO,交叉编译需要额外工具链,且产物体积会变大。移动端场景尽量用纯 Go 实现
  2. host 绑定:HTTP server 必须绑定 127.0.0.1
  3. 文件系统:Go 程序里访问文件的路径会映射到 APK 的应用存储目录。os.Getwd() 返回的是 APK 内部的存储路径,不是原项目目录
  4. 资源嵌入:静态资源可以用 embed 包直接编译进二进制,这样不需要额外拷贝文件

和 Python / Node.js 的选择建议

维度GoPython / Node.js
准备工作电脑上交叉编译直接放源码 + 首次 pip/npm install
冷启动快略慢(需要加载解释器)
内存占用低较高
依赖安装不需要需要网络
生态较新成熟