Android即將支持GO語言,從游戲開始
(注* 最近nodejs最流行的Web框架作者TJ決定告別nodejs去寫go了,此文也許揭示了一些原因)
David Crawshaw
David Crawshaw
2014年6月
摘要
我們打算在Android平臺引入Go,重點是支持在Android上使用Go寫游戲. 將會使用現有的API接口。
背景
Android是是支承應用程序的操作系統。它能比Unix系統提供更多的庫和服務,重用現有接口使Go遷移到Android的過程會更加簡單。
在Android平臺讓GO實現與JAVA完全一樣的功能是非常困難的。這個用JAVA寫的平臺有著海量的API。任何將這些API用Go封裝都會遇到:手動封裝無法應用最新的特性,自動封裝的Go的代碼沒法看,無論如何這個過長可能會很長。
然而,安卓上用于編寫游戲所需要的基于C語言的API只是安卓API中的一個比較小的子集,所以用Go來實現NDK中一些等價的功能是可行的。
但是,Android應用中有一些較少的基于C寫的API接口,他們在Android NDK中:對,就是游戲用到的這些接口。因此讓GO支持這些NDK中的特性是較為可行的。
提議
在Go1.4的開發周期中,通過設置GOOS=android,Android將可以支持go代碼了,同時也支持cgo(Elias Naur提供)。 Dalvik/ART 也將可以加載,因此會產生一需要連接到NDK的額外文件。
在編繹面板,我們會提供一個交叉編繹器,用來在linux上運行Go的一些工具,即可以使用adb工作在Android設備上測試你的編繹文件。
這里有一個新的項目go.mobile,它會提供:
- 綁定OpenGL, OpenSL和OpenMAX 這些從NDK暴露的接口。
- JAVA到Go的綁定生成器。比如你有一個Go的庫,這玩意可以讓java代碼調用它,因此游戲菜單的UI可以在標準的SDK中創建。(就想Go中的綁定,這可以讓同樣的代碼去綁定其它語言,比如Objective-C)。
- 與Android Studio集成
- 在項目穩定可用時,將發布發行版。 </ul>
發布 kris 2014-07-11 原文 docs.google.com
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!