使用Go语言开发Android&IOS应用,主要有两种方式,一种是基于原生应用开发,另一种是混合绑定开发。
前置条件 下载 $ go get golang.org/x/mobile/cmd/gomobile
安装(需要等待几分钟) gomobile init
原生应用开发方式
$ go get -d golang.org/x/mobile/example/basic
主要应用领域:
- 应用控制管理与配置
- OpenGL ES 2 绑定
- Asset 管理
- Event 管理
- 试验中的包,含有OpenAL 绑定、音频、字体、图形以及运动传感器
Android开发
- $ gomobile build -target=android golang.org/x/mobile/example/basic
此命令会生成名为basic的apk安装包 - $ gomobile install golang.org/x/mobile/example/basic 此命令将安装apk包到已连接的android设备
IOS开发
-
$ gomobile build -target=ios golang.org/x/mobile/example/basic 此命令会生成名为basic的app安装包
-
下载IOS安装包命令行工具 - ios-deploy $ ios-deploy -b basic.app 此命令将安装app文件到已开启的IOS模拟器或者已连接的IOS设备
$ go get -d golang.org/x/mobile/example/bind/...
优势
- Go code复用
在Android和IOS开发中共享通用的Go代码通过调用绑定的Golang包名
限制 - 当前仅支持的一些Go类型
语言之间的绑定会有性能开销
Android开发
-
开启Android studio,导入Project,选择路径$GOPATH/src/golang.org/x/mobile/example/bind/android
-
修改配置文件hello/build.gradle
-
最后 Build & Run
备用选项:
$ gomobile bind -target=android golang.org/x/mobile/example/bind/hello
*此命令会在hello/路径下生成aar文件*,用户可以直接在Android Studio内导入
IOS开发
$ cd $GOPATH/src/golang.org/x/mobile/example/bind $ gomobile bind -target=ios golang.org/x/mobile/example/bind/hello
此命令在ios/路径下生成bind.xcodeprojxcode项目以及 在bind/目录下生成一个 hello.framework
- 打开xcode项目 $ open ios/bind.xcodeproj
- 拖拽hello.framework文件到xcode项目内
- 最后 Build & Run