日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Go語言對(duì)Android原生應(yīng)用開發(fā)的支持情況

Google工程師和獨(dú)立開發(fā)人員提出了幾份不同的提案,旨在讓go語言支持開發(fā)原生的Android應(yīng)用。這項(xiàng)工作無法讓Go語言編寫的應(yīng)用使用Android NDK的全部接口,但有可能使用其中的一個(gè)子集。

創(chuàng)新互聯(lián)從2013年創(chuàng)立,先為大同等服務(wù)建站,大同等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為大同企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

David Crawshaw是Google的工程師,他寫了一份提案,旨在讓Go語言部分支持編寫Android應(yīng)用。根據(jù)他的說法,“用Go語言來實(shí)現(xiàn)整個(gè)Android平臺(tái)非常困難。Android平臺(tái)是用Java寫的,并擁有龐大的API層。”

但是,Crawshaw說,一部分Android應(yīng)用——比如游戲——使用了精簡(jiǎn)得多的C語言API編寫代碼,這些API由Android NDK提供。這樣,使用Go語言來開發(fā)和NDK一樣的功能,提供對(duì)Android的支持是有可能實(shí)現(xiàn)的。

Crawshaw建議在Go 1.4的開發(fā)周期中,Go語言的代碼庫引入一個(gè)叫GOOS=android的選項(xiàng),這個(gè)選項(xiàng)可以提供以下功能:

  • 為Android NDK中導(dǎo)出的OpenGL、OpenSL和OpenMAX接口,提供Go語言的綁定(binding)。
  • 從Java語言到Go語言的綁定生成器(binding generator)。如果我們有一個(gè)Go語言編寫的軟件包,那么這個(gè)生成器可以幫助Java代碼調(diào)用它,所以游戲菜單界面就可以直接使用標(biāo)準(zhǔn)的SDK來編寫了。
  • 集成到Android Studio的編譯系統(tǒng)中。

不止Crawshaw一個(gè)人提出了把Go語言和Android結(jié)合起來的想法。Elias Naur建議擴(kuò) 展Go語言的工具鏈來支持創(chuàng)建動(dòng)態(tài)庫。這樣我們就可以在Android應(yīng)用中使用Go語言編寫的庫,它們被Android應(yīng)用加載和運(yùn)行,并打包在apk 中發(fā)行。要把這個(gè)想法變?yōu)楝F(xiàn)實(shí),有一個(gè)重要的前提條件:加入對(duì)交叉編譯的支持,而Go 1.3已經(jīng)實(shí)現(xiàn)了它。交叉編譯是必需的,因?yàn)镹DK本身并不能在Android上運(yùn)行,只有使用NDK編譯和(或)鏈接的可執(zhí)行程序和動(dòng)態(tài)庫才能在 Android設(shè)備上運(yùn)行。

上面這個(gè)提案基于已有的開源項(xiàng)目goandroid,作者就是Elias Naur。Goandroid修改了Go語言的工具鏈和運(yùn)行時(shí)庫,使之能編寫動(dòng)態(tài)庫,在原生的Android應(yīng)用中運(yùn)行,而Google官方并不支持這個(gè)功能。

***,還有一個(gè)叫Mandala的項(xiàng)目,它是一個(gè)更全面的框架,它的目標(biāo)是使Go語言能編寫Android原生應(yīng)用。Mandala利用了Goandroid的工具鏈,它的作者Andrea Fazzi說,感謝Goandroid,“你可以在桌面環(huán)境中開發(fā)、測(cè)試和運(yùn)行你的應(yīng)用,然后再把它部署到Android設(shè)備上。它鼓勵(lì)大家以Go語言獨(dú)特的方式來編寫Android應(yīng)用:使用通道(channels)來實(shí)現(xiàn)通訊,而不是回調(diào)函數(shù)(callbacks)”

在功能方面,Mandala項(xiàng)目跟Crawshaw的提案很接近,它的目標(biāo)也主要是為游戲提供解決方案:“我們不應(yīng)該把Mandala框架看作是一 個(gè)上層的游戲引擎,而是應(yīng)該在它基礎(chǔ)之上構(gòu)建游戲引擎,或者把已有的游戲引擎移植到它上面?!?Fazzi 提醒道,Google并不支持用Go語言來開發(fā)原生的Android應(yīng)用,但他也表達(dá)了他的期望“當(dāng)前這些工作可以起到某種激勵(lì)作用,促使Go語言開發(fā)團(tuán) 隊(duì)從官方層面支持Android。”


文章名稱:Go語言對(duì)Android原生應(yīng)用開發(fā)的支持情況
分享鏈接:http://m.5511xx.com/article/dphsocs.html