Go語言將支援Android

高陽Sunny發表於2019-02-16

在前些日子谷歌於2009年釋出的第二款自家語言Go語言剛剛釋出了1.3正式版,大幅度解決了GC問題,最近谷歌開發版裡又有了新爆料:谷歌終於要在1.4版本中正式支援Android系統開發,可以編譯器直接編譯釋出到Android平臺

概述

我們建議將Go語言引入Android平臺,重點是用Go語言編寫遊戲程式,API將在Android NDK中定義。

背景

Android平臺被設定為一個多應用作業系統,一個相對於傳統UNIX系統來說更依賴於網路庫和服務的作業系統,這意味著我們將為Go執行時開放更多的API。

將Golang帶入Android平臺是一件非常糟糕的事情,因為Android本身是Java構建的並且擁有巨量的API,任何試圖將這些API用Go替代的結果將會導致一個非常糟糕的結果。無論是手工建立包裝類還是自動建立都會導致程式執行非常緩慢。

然而如果使用基於C的API,通過AndroidNDK來編寫一些遊戲類程式可能會帶來意想不到的收穫。

提議

在Golang 1.4週期中,Android平臺的編譯將納入Go的源,並且包含Android支援的cgo(由Elias Naur貢獻)。Dalvik-loadable .so外部連線檔案的支援也會由Android NDK提供。

在釋出上我們仍然提供交叉平臺編譯,並且支援在Linux主機上adb工具在Android裝置上測試程式。
我們將會提供一個名叫go.mobile的子版本,包含:

  • 通過Android NDK對OpenGL,OpenSL和OpenMAX的支援。
  • 一個Java->Go的工具,支援通過Java呼叫Go的Package,所以許多遊戲的選單UI可以通過標準SDK構建。(有可能會支援通過其他語言呼叫Go,比如Objective-C。)
  • 整合AndroidStudio

新特性將會在Go1.4穩定版中提供。
戳這裡檢視原文

相關文章