Matcha -- 用 Go 编写 iOS 和 Android 应用程序
Matcha 正处于早期开发阶段! 有许多粗糙的边缘和API可能仍然会改变。如果您发现任何错误,请提交问题。
什么是 Matcha?
Matcha 是一个用 Go 构建 iOS 和 Android 应用和框架的软件包。Matcha 提供了一个类似于 ReactNative 的 UI 组件库,并通过反射暴露了与 Objective-C 和 Java 代码的绑定。该库还为常见的应用任务提供了 Go API。
示例
安装 -- macOS
Matcha 需要安装以下组件。
- Go 1.8 以上
- Xcode 8.3 以上
- Android Studio 2.3+ (含 SDK 26, NDK 和 Android 支持)
首先安装Xcode和Android Studio。说明可以在 https://developer.apple.com/download/ 和 https://developer.android.com/studio/install.html 找到。
在启动 Android Studio 之前,您可能需要运行以下内容,以允许它读取您的GOPATH(https://stackoverflow.com/a/14285335)。这也必须在重启时完成。
launchctl setenv GOPATH $GOPATH
打开 Android Studio 的 SDK 管理器,在 SDK 平台标签下,安装 Android 8 平台(API 26)。并在 SDK Tools 选项卡中,安装 NDK 和 Android Support Repository。
通过在 ~/.bash_profile 中添加以下内容,配置 ANDROID_HOME 环境变量,使其指向 Android SDK。Android SDK 通常位于 ~/Library/Android/sdk,这取决于你的安装。
export ANDROID_HOME=<SDK location>
获取项目并安装 matcha 命令。
go get gomatcha.io/matcha/...
接下来我们用下面的命令构建 iOS 和 Android 的 Go 标准库。输出安装在 $GOPATH/pkg/matcha。如果你的路径不包含 $GOPATH/bin,你可能需要用 $GOPATH/bin/matcha 替换这些调用。
matcha init
现在构建示例项目。输出安装在 $GOPATH/src/gomatcha.io/matcha/ios/MatchaBridge/MatchaBridge/MatchaBridge.a 和 $GOPATH/src/gomatcha.io/matcha/android/matchabridge.aar。
matcha build gomatcha.io/matcha/examples
现在我们可以打开 iOS 的示例项目了。
open $GOPATH/src/gomatcha.io/matcha/examples/ios-app/SampleApp.xcworkspace
在 Xcode 的 General > Signing 下设置开发团队,并在右上方的目标下拉菜单中选择 SampleApp。然后运行 App!
对于 Android,只需打开 Android Studio 示例项目并点击运行!
open -a /Applications/Android\ Studio.app $GOPATH/src/gomatcha.io/matcha/examples/android-app/SampleApp
安装 -- Linux
Matcha 需要安装以下组件,Linux 上不支持 iOS 构建。
- Go 1.8 以上
- Android Studio 2.3+ (含 SDK 26、NDK 和 Android 支持库)
首先安装 Android Studio。说明可以在https://developer.android.com/studio/install.html 上找到。
打开 Android Studio 的 SDK 管理器,在 SDK 平台选项卡下,安装 Android 8 平台(API 26)。并在 SDK 工具选项卡中,安装 NDK 和 Android Support Repository。
通过在 ~/.bash_profile 中添加以下内容,配置 ANDROID_HOME 环境变量,使其指向 Android SDK。Android SDK 通常位于 ~/Android/SDK,这取决于你的安装。
export ANDROID_HOME=<SDK location>
另外,在你的 ~/.bash_profile 中添加以下内容来修改你的 PATH,以包含 Java 编译器(如果还没有的话)。javac 通常可以在 /usr/local/android-studio/jre/bin 找到。
export PATH=${PATH}:<Java Compiler location>
获取项目并安装 matcha 命令。
go get gomatcha.io/matcha/...
接下来我们用下面的命令构建 Android 的 Go 标准库。输出安装在 $GOPATH/pkg/matcha。如果你的路径不包含 $GOPATH/bin,你可能需要用 $GOPATH/bin/matcha 替换这些调用。
matcha init
现在构建示例项目。输出安装在 $GOPATH/src/gomatcha.io/matcha/android/matchabridge.aar。
matcha build gomatcha.io/matcha/examples
现在打开 Android Studio 示例项目并点击运行!
<Android Studio location>/bin/studio.sh $GOPATH/src/gomatcha.io/matcha/examples/android-app/SampleApp
安装 -- Windows
Matcha 需要安装以下组件,Windows 上不支持 iOS 构建。
- Go 1.8+
- Android Studio 2.3+ (含 SDK 26, NDK 和 Android 支持库)
首先安装 Android Studio。说明可以在 https://developer.android.com/studio/install.html 上找到。
打开 Android Studio 的 SDK 管理器,在 SDK 平台选项卡下,安装 Android 8 平台(API 26)。并在 SDK 工具选项卡中,安装 NDK 和 Android Support Repository。
将 ANDROID_HOME 环境变量配置为指向 Android SDK。Android SDK 通常位于 %USERPROFILE%AppData/Local/Android/Sdk,这取决于你的安装。
setx ANDROID_HOME <SDK location>
javac 通常可以在 C:\\Program Files\Android\Android Studio\jrebin 找到。
setx PATH %PATH%;<Java Compiler location>
获取项目并安装 matcha 命令。
go get gomatcha.io/matcha/...
接下来我们用下面的命令构建 Android 的 Go 标准库。输出安装在 $GOPATH/pkg/matcha。如果你的路径不包含 $GOPATH/bin,你可能需要用 $GOPATH/bin/matcha 替换这些调用。
matcha init
现在构建示例项目。输出安装在 $GOPATH/src/gomatcha.io/matcha/android/matchabridge.aar。
matcha build gomatcha.io/matcha/examples
现在打开 Android Studio 示例项目并点击运行!
试试吧
联系作者
- 加入 Gophers Slack channel
- Tweet @gomatcha.io on Twitter
- 在 GitHub 上给我们打星
- Email 发邮件给团队
(The first version translated by vz on 2020.08.22)