2015-01-01

Go for Android 有什麼不同 ?

Google 在新版的 Go 1.4 版中,加入了對 Android 的支援,阿舍有在用 Go 寫東西,所以,看到這個消息還滿高興的,想說,之後,就可以直接用 Go 來寫,不用去用那個 Android SDK 的 Java 了哩 ! 不過,那時阿舍的想法只是單純的以為,這個 Go 1.4 只是多了一組 Android 的套件而已,並沒有多去注意到有什麼不同哩 ! ...

 右邊那隻是 Go 的吉祥物哩 ! ... (Original Image credit geeky-gadgets.com )
但是,阿舍就這個 Go for Android 是滿有興趣的,於是,就找了個時間來瞭解了一下,然後,才知道,原來這個 Go For Android 是定位在遊戲開發的,因此,執行速度和繪圖能力就要夠快才行,所以,Go For Android 的作法就不是呼叫現有的 Android SDK 的 API ,而是以 cgo 的方式來直接呼叫 Android NDK 的 C API,這樣,才可以直接編譯出給 Android 底層執行的程式哩 ! 就不用還要依賴 Android 的那一層虛擬機器來執行囉 !

也因為是採用 Android NDK 的方式,所以,基本上,Go For Android 寫出來的程式會是和大部份的遊戲 App 一樣,是一個全螢幕的 App,開發者要自己畫畫面和控制使用者的觸控操作,不過,Go For Andoird 還是有提供讓 Java 可以呼叫 Go 程式功能的部份,這是為了方便用 Andoird SDK 來快速建立選單,而不用開發者自己從頭去畫選單的畫面哩 ! 

目前 Go For Android 提供的功能還真的很少,不過,現在的 Go For Android 本來就是還在開發中,所以,提供的功能有限是正常的,阿舍覺得,Google 目前應該還在試看看怎麼樣的開發架構與方式會比較合適,因此,先放出一個版本來看看開發者的反應後再來調整吧 ! 

另外,阿舍從 Go 的文件中發現,這個 Go For Android 可能只是 Go For Mobile 專案的一部份吧!看來,Go For Android 在開發的同時,也有考慮到 iOS 的部份,因此,Go For iOS 應該有機會在 Go For Android 正式釋出後,也就跟著推出吧 ! ... 如果是那樣,對 Go 的開發者就太好了哩 ! ...  

推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

2 則留言 :

忘记月亮 提到...

Go语言很火的样子,找时间研究一下。

Arthur 提到...

Hello,

阿舍覺得 Go 滿有趣的語語哩 ! ... ^^=

張貼留言

歡迎留言提問和討論 .... 😁