自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

簡介跨平臺的移動開發(fā)框架

移動開發(fā)
本文我們將介紹六個跨平臺的移動開發(fā)框架。每種框架都有其特定的用戶群定位,所以不好說哪個框架或者引擎最好,只能是根據(jù)應(yīng)用開發(fā)的功能需求以及開發(fā)者個人對工具及語言方面的喜好來進行選擇,有一些框架目前不會使用,但不代碼未來在做某個應(yīng)用的時候再回來重新評估。

這里說的框架,英文原文是framework。因為最近在尋找合適的手機游戲引擎,所以對比了一些開源以及商業(yè)框架,包括他們的部分文檔,以及論壇和博客里開發(fā)者的使用分享,有了一點簡單的收獲,記錄一下。

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

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

Unity3D

 

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

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

 

#p#

Cocos2d

另外一個非常優(yōu)秀的框架Cocos2d(http://www.cocos2d-iphone.org/),這個真的只能算是框架,因為它只是一套API集合,不像Unity那樣有完善的開發(fā)工具,而且Cocos2d只能發(fā)布到iOS平臺和Mac平臺下,如果需要跨平臺可以使用國人移植的Cocos2d-X項目。

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

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

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

Sparrow Framework

 

Sparrow Framework(http://www.sparrow-framework.org),與Cocos2d類似的一個游戲開發(fā)框架。Sparrow不是跨平臺的開發(fā)框架,它只支持iOS。因為提供了一套與Flash/Flex類似的API接口,所以對于有flash開發(fā)經(jīng)驗的人員來說還是有一定優(yōu)勢的。不過同樣也是工具的缺失,使用起來有一定難度。

 

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

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

Corona SDK

 

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

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

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

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

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

Monkey

 

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

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

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

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

PhoneGap

 

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

PhoneGap宣傳的是唯一一個同時支持6種移動平臺的開發(fā)框架,這個沒錯,因為它的應(yīng)用是基于Html的,本身就比較容易做到跨平臺。但是 PhoneGap也為應(yīng)用做了一層封裝,把一些系統(tǒng)級的API封裝為Javascript API提供給應(yīng)用開發(fā)者,然后啟動一個WebView來加載實際應(yīng)用。

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

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

 

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

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

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

責(zé)任編輯:佚名 來源: all-ipad.net
相關(guān)推薦

2010-10-09 15:01:27

PhoneGapiPhoneAndroid

2012-03-16 13:43:29

2014-07-08 09:37:28

跨平臺Webhtml5

2024-12-06 15:07:42

Python開發(fā)

2012-02-09 16:45:41

2011-07-06 14:01:33

Monkey

2019-10-25 10:42:51

框架Web開發(fā)

2015-03-28 19:18:47

線下公開課51CTO沙龍MDSA

2015-05-13 10:09:39

移動跨平臺開發(fā)

2013-07-04 10:06:32

AppCan

2010-11-11 09:04:05

跨平臺移動開發(fā)

2024-05-22 09:54:19

2014-03-24 10:30:38

盧建暉跨平臺開發(fā)

2011-08-22 10:00:13

HTML 5

2011-09-05 11:27:17

Sencha Touc框架HTML5

2011-06-14 10:05:41

UDEAndroidJ2ME(K-Java

2014-03-12 10:00:26

移動開發(fā)跨平臺

2011-08-25 08:59:58

HTML 5

2011-07-07 13:19:38

Web

2012-01-12 14:16:23

響應(yīng)式Web設(shè)計
點贊
收藏

51CTO技術(shù)棧公眾號