Go語言將支持Android
站在用戶的角度思考問題,與客戶深入溝通,找到團(tuán)風(fēng)網(wǎng)站設(shè)計(jì)與團(tuán)風(fēng)網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋團(tuán)風(fēng)地區(qū)。
概述
我們建議將Go語言引入Android平臺(tái),重點(diǎn)是用Go語言編寫游戲程序,API將在Android
NDK中定義。
背景
Android平臺(tái)被設(shè)定為一個(gè)多應(yīng)用操作系統(tǒng),一個(gè)相對(duì)于傳統(tǒng)UNIX系統(tǒng)來說更依賴于網(wǎng)絡(luò)庫和服務(wù)的操作系統(tǒng),這意味著我們將為Go運(yùn)行時(shí)開放更多的API。
將Golang帶入Android平臺(tái)是一件非常糟糕的事情,因?yàn)锳ndroid本身是Java構(gòu)建的并且擁有巨量的API,任何試圖將這些API用Go替代的結(jié)果將會(huì)導(dǎo)致一個(gè)非常糟糕的結(jié)果。無論是手工建立包裝類還是自動(dòng)建立都會(huì)導(dǎo)致程序運(yùn)行非常緩慢。
然而如果使用基于C的API,通過AndroidNDK來編寫一些游戲類程序可能會(huì)帶來意想不到的收獲。
提議
在Golang
1.4周期中,Android平臺(tái)的編譯將納入Go的源,并且包含Android支持的cgo(由Elias
Naur貢獻(xiàn))。Dalvik-loadable
.so外部連接文件的支持也會(huì)由Android
NDK提供。
在發(fā)布上我們?nèi)匀惶峁┙徊嫫脚_(tái)編譯,并且支持在Linux主機(jī)上adb工具在Android設(shè)備上測(cè)試程序。
我們將會(huì)提供一個(gè)名叫g(shù)o.mobile的子版本,包含:
1、通過Android
NDK對(duì)OpenGL,OpenSL和OpenMAX的支持。
2、一個(gè)Java-Go的工具,支持通過Java調(diào)用Go的Package,所以許多游戲的菜單UI可以通過標(biāo)準(zhǔn)SDK構(gòu)建。(有可能會(huì)支持通過其他語言調(diào)用Go,比如Objective-C。)
3、集成AndroidStudio
新特性將會(huì)在Go1.4穩(wěn)定版中提供。
go可以在安卓運(yùn)行的,github.com/golang/mobile,這是用golang做移動(dòng)端開發(fā)的庫,
go是靜態(tài)編譯語言,不是腳本語言
蘋果公司允許開發(fā)人員使用 Objective-C 和 Swift 兩種編程語言開發(fā) iOS 應(yīng)用,因?yàn)檫@兩種語言已經(jīng)緊密地與蘋果的開發(fā)環(huán)境和工具集整合在一起。
安卓操作系統(tǒng)原生支持 Java 語言,因此它是安卓應(yīng)用開發(fā)的首選語言。但是,安卓也支持使用其他語言(如 Kotlin)來開發(fā)應(yīng)用,并且使用其他語言的開發(fā)人員可以通過 Java Native Interface (JNI) 訪問安卓的底層系統(tǒng) API。
Go語言不是安卓操作系統(tǒng)原生支持的語言,因此需要使用其他方法才能在安卓上開發(fā) Go 語言應(yīng)用。
具體的方法有:
gomobile: Go 語言官方支持的工具,用于在安卓和 iOS 上編譯 Go 代碼為本地應(yīng)用。
go-android: 一個(gè)開源庫,用于在安卓上運(yùn)行 Go 語言代碼。
go-gtk: 一個(gè)庫,用于在安卓上使用 GTK+ 構(gòu)建 GUI 應(yīng)用。
這些項(xiàng)目允許開發(fā)人員在安卓上使用 Go 語言開發(fā)應(yīng)用,但請(qǐng)注意,目前這些項(xiàng)目可能仍然處于試驗(yàn)階段,不保證穩(wěn)定性和性能。