简言

使用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
    在这里插入图片描述