色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

跨平臺(tái)的移動(dòng)開發(fā)框架介紹

  這里說的框架,英文原文是Framework。因?yàn)樽罱趯ふ液线m的手機(jī)游戲引擎,所以對(duì)比了一些開源以及商業(yè)框架,包括他們的部分文檔,以及論壇和博客里開發(fā)者的使用分享,有了一點(diǎn)簡(jiǎn)單的收獲,記錄一下。

  每種框架都有其特定的用戶群定位,所以不好說哪個(gè)框架或者引擎最好,只能是根據(jù)應(yīng)用開發(fā)的功能需求以及開發(fā)者個(gè)人對(duì)工具及語(yǔ)言方面的喜好來進(jìn)行選擇,有一些框架目前不會(huì)使用,但不代表未來在做某個(gè)應(yīng)用的時(shí)候再回來重新評(píng)估。

  不過其中一些框架的缺陷還是值得關(guān)注,不能在使用這個(gè)框架做過一段時(shí)間后才發(fā)現(xiàn)有這樣那樣太多的問題,解決的時(shí)間比自己為每個(gè)平臺(tái)獨(dú)立開發(fā)所花的時(shí)間還要多,那樣就得不償失了。

  因?yàn)樯弦粋€(gè)項(xiàng)目使用的Unity3D(http://www.unity3d.com/),目前的感受是這個(gè)引擎相當(dāng)不錯(cuò),尤其對(duì)于美術(shù)人員來說相當(dāng)友好,其在跨平臺(tái)方面的表現(xiàn)也很強(qiáng)大,雖然手機(jī)平臺(tái)目前只支持iosAndroid,不過這也足夠了,Unity現(xiàn)在50萬(wàn)的開發(fā)者也足以證明它的優(yōu)秀,而圍繞它的一些插件開發(fā)商和工具開發(fā)商,還有大量的Asset提供者,已經(jīng)將Unity打造成了一個(gè)產(chǎn)業(yè)圈。

  只不過Unity的強(qiáng)項(xiàng)還是在3D游戲開發(fā)上,雖然使用其UI組件也可以構(gòu)建2D游戲,但是使用起來還是比較別扭,也不那么直觀。

  另外一個(gè)非常優(yōu)秀的框架Cocos2d(http://www.cocos2d-iphone.org/),這個(gè)真的只能算是框架,因?yàn)樗皇且惶譇PI集合,不像Unity那樣有完善的開發(fā)工具,而且Cocos2d只能發(fā)布到ios平臺(tái)和Mac平臺(tái)下,如果需要跨平臺(tái)可以使用國(guó)人移植的Cocos2d-X項(xiàng)目。

  看一眼Cocos2d網(wǎng)站的項(xiàng)目列表真的是很讓人激動(dòng),那么多曾經(jīng)排過Top10的項(xiàng)目,似乎有了它成功就在眼前。Cocos2d是我很早就一直在關(guān)注的一個(gè)框架,并且嘗試用它來寫過簡(jiǎn)單的游戲,確實(shí)很不錯(cuò)。

  不過Cocos2d最大的問題在于工具的缺失,使用它必須完全由程序員自己來實(shí)現(xiàn)場(chǎng)景構(gòu)建,動(dòng)畫控制,等等。當(dāng)然也可以借助于Tiled這類開源工具來編輯地圖,但其功能與Unity比起來只能用簡(jiǎn)陋來形容,這對(duì)于多人協(xié)作,尤其是程序與美術(shù)的協(xié)作是相當(dāng)不友好的。

  當(dāng)然,如果你能一個(gè)人搞定所有這些事那也無(wú)所謂。

  Sparrow Framework(http://www.sparrow-framework.org),與Cocos2d類似的一個(gè)游戲開發(fā)框架。Sparrow不是跨平臺(tái)的開發(fā)框架,它只支持ios。因?yàn)樘峁┝艘惶着cFlash/Flex類似的API接口,所以對(duì)于有flash開發(fā)經(jīng)驗(yàn)的人員來說還是有一定優(yōu)勢(shì)的。不過同樣也是工具的缺失,使用起來有一定難度。

  Torque 2d(http://www.garagegames.com/products/torque-2d)是一個(gè)比較老牌的游戲引擎,包含有比較完整的開發(fā)工具,其Level Editor跟Unity一樣也是所見即所得,對(duì)于橫版過關(guān)類游戲及斜45度地圖游戲都有很好的支持,使用了一套自己實(shí)現(xiàn)的腳本引擎,類C++的語(yǔ)法,使用起來也比較清晰。

  它的一個(gè)分支iTouque-2d可以把應(yīng)用發(fā)布到ios平臺(tái),不過目前還不支持發(fā)布到Android,這應(yīng)該算是Torque目前最大的問題了。

  Corona SDK(http://www.anscamobile.com/corona/),差不多與Cocos2d齊名的另一個(gè)優(yōu)秀的框架,在早期Apple對(duì)第三方語(yǔ)言開發(fā)App還嚴(yán)格禁止的時(shí)候這個(gè)工具就已經(jīng)出現(xiàn)了,我關(guān)注到這個(gè)框架的時(shí)候正逢Apple開始解禁第三方編程語(yǔ)言,那時(shí)候Corona還在做低價(jià)促銷,可惜當(dāng)時(shí)我沒有購(gòu)買 J。

  同樣的,看一眼Corona SDK的Showcase列表也會(huì)熱血沸騰,這么多優(yōu)秀的App,不過問題也還是有的:

  沒有集成開發(fā)環(huán)境,必須自己使用lua語(yǔ)言一行行寫出一個(gè)App來。

  Android的支持還非常不完善,Corona基本上也是在ios做的比較成熟后再移植到Android上的,這個(gè)移植工作還處于非常初期的階段,所以不要指望它在Android上的表現(xiàn)能有多好,能夠正常運(yùn)行就不錯(cuò)了。

  最大的一個(gè)問題是使用Corona開發(fā)的應(yīng)用必須提交到它的服務(wù)器上去編譯生成App,當(dāng)然你可以先在本地使用模擬器來開發(fā),但最后的發(fā)布包必須在服務(wù)器上生成,為此你必須每年交349美元的授權(quán)費(fèi),這比蘋果的年費(fèi)可高多了。

  Monkey( http://www.monkeycoder.co.nz)是一個(gè)與Corona類似的框架,但是比Corona要稍好一些,如果單從開發(fā)者角度來看的話。

  Monkey使用Bliz Basic語(yǔ)言開發(fā)應(yīng)用,然后編譯生成目標(biāo)平臺(tái)的Project,再將這個(gè)Project按照正常開發(fā)流程編譯生成App。這個(gè)流程與Corona基本相似,不過編譯的過程是在本地進(jìn)行的,所以可以在目標(biāo)Project生成之后再進(jìn)行修改,這樣一些在特定平臺(tái)上的功能可以分別進(jìn)行添加和修改。

  另外Monkey的授權(quán)費(fèi)比Corona要低得多,只需要一次付費(fèi),授權(quán)費(fèi)也只需要120美元。

  Monkey的問題在于它還處在開發(fā)的初期階段,目前發(fā)布的版本只實(shí)現(xiàn)了最基礎(chǔ)的功能,對(duì)于游戲開發(fā)來說,你還需要自己添加物理支持,粒子系統(tǒng),如果你想要加入網(wǎng)絡(luò)功能的話也得自己去做。當(dāng)然社區(qū)里有熱心用戶公開了他們的一部分代碼,但是,你懂的。

  PhoneGap(http://www.phonegap.com/),如果你在Google搜索“cross platform mobile application framework”,第一個(gè)結(jié)果就是PhoneGap。當(dāng)然這可能與選擇的關(guān)鍵字有關(guān),如果把關(guān)鍵字改為“cross platform mobile app development”,那么第一個(gè)結(jié)果是Corona,第二個(gè)結(jié)果還是PhoneGap。

  PhoneGap宣傳的是唯一一個(gè)同時(shí)支持6種移動(dòng)平臺(tái)的開發(fā)框架,這個(gè)沒錯(cuò),因?yàn)樗?a href=/pingce/yingyong/ target=_blank class=infotextkey>應(yīng)用是基于Html的,本身就比較容易做到跨平臺(tái)。但是PhoneGap也為應(yīng)用做了一層封裝,把一些系統(tǒng)級(jí)的API封裝為Javascript API提供給應(yīng)用開發(fā)者,然后啟動(dòng)一個(gè)WebView來加載實(shí)際應(yīng)用

  這樣的做法使得PhoneGap的應(yīng)用基本上限制于Web類,對(duì)于游戲應(yīng)用就不大合適,當(dāng)然網(wǎng)頁(yè)類SNS游戲除外 J。

  至于為什么要用PhoneGap而不是直接讓玩家用Safari打開一個(gè)URL,原因基本上有兩點(diǎn):一是應(yīng)用可能需要一些系統(tǒng)底層功能,比如想要獲取地理位置信息,或者是照相機(jī)等等,另一種情況是做成一個(gè)獨(dú)立APP可以放到Store上去收費(fèi),而URL的收費(fèi)就不那么方便了。

  Titanium(http://www.appcelerator.com/),同樣是在上面的搜索結(jié)果中,你大概已經(jīng)注意到了這個(gè)名字。Titanium首頁(yè)宣傳的是有1.5M活躍開發(fā)者,22.5K的APP和20M的活躍用戶,這個(gè)數(shù)字不知道是不是有一定水分,但是因?yàn)門itanium是免費(fèi)并且開源的,所以有這么多注冊(cè)的開發(fā)者本身可能不奇怪,Titanium的商業(yè)模式是靠提供技術(shù)支持與培訓(xùn)來贏利,這對(duì)于普通開發(fā)者來說是好事。

  但是與PhoneGap類似,Titanium也是用于Web類的移動(dòng)應(yīng)用開發(fā),但是Titanium似乎做的更進(jìn)一步,把部分UI組件編譯成了Native Code,這樣使得應(yīng)用看起來更像是專為這個(gè)平臺(tái)開發(fā)的。在功能實(shí)現(xiàn)上,Titianium內(nèi)置了一個(gè)JS腳本引擎,這比PhoneGap直接使用WebView也要更強(qiáng)大一些。

  但是在StackOverFlow以及Titanium論壇上看到大量的抱怨,問題集中在文檔的老舊以及BUG的修復(fù)太過于緩慢,還有在跨平臺(tái)方面的支持不夠完善,需要為不同平臺(tái)編寫大量的特定代碼,這些問題對(duì)于應(yīng)用開發(fā)者來說都是致命的。

it知識(shí)庫(kù)跨平臺(tái)的移動(dòng)開發(fā)框架介紹,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 宜君县| 龙州县| 绍兴县| 长乐市| 梓潼县| 呼伦贝尔市| 绩溪县| 韶关市| 宜都市| 上饶市| 年辖:市辖区| 晋江市| 新郑市| 镇巴县| 邢台县| 永安市| 大田县| 雷山县| 梨树县| 搜索| 沐川县| 安丘市| 博客| 阜南县| 固原市| 柳州市| 平泉县| 巴中市| 正安县| 同江市| 东光县| 吴旗县| 鹤岗市| 新巴尔虎右旗| 深州市| 高陵县| 永新县| 西青区| 万宁市| 卢龙县| 淮南市|