當(dāng)前位置: CNMO > 新聞 > 正文

手機(jī)軟件移動(dòng)應(yīng)用“繁華”背后的隱憂

CNMO 【轉(zhuǎn)載】 作者:計(jì)算機(jī)世界, 2009-09-15 17:09
評論(0
分享

    智能手機(jī)越來越普及使得移動(dòng)應(yīng)用開發(fā)成為一個(gè)越來越大的產(chǎn)業(yè),然而,應(yīng)用開發(fā)者不得不面臨一個(gè)相當(dāng)艱難的選擇:到底是該為蘋果的iPhone、Google的Android開發(fā)應(yīng)用還是為Palm Pre、Symbian、黑莓等開發(fā)應(yīng)用?

    當(dāng)然,如果你有時(shí)間也有足夠的資源而且技術(shù)很全面,你可以分別為每種應(yīng)用開發(fā)出不同的版本,如iPhone版、Android版等,或者利用Web技術(shù)開發(fā)一個(gè)通用的版本,但這樣開發(fā)出來的應(yīng)用一般不能充分發(fā)揮手機(jī)的性能。

    開發(fā)平臺選擇之難

    由于色彩絢麗、多媒體應(yīng)用越來越豐富,使得智能手機(jī)迅速流行開來,這給開發(fā)人員打開了一個(gè)新的領(lǐng)域—移動(dòng)應(yīng)用。不過,擺在開發(fā)人員面前的挑戰(zhàn)并不少,比如要掌握新的SDK(軟件開發(fā)工具包),而更為困難的是手機(jī)操作系統(tǒng)種類繁多,而且缺乏統(tǒng)一的標(biāo)準(zhǔn),這使得開發(fā)人員的選擇異常困難,因?yàn)樵谀撤N手機(jī)操作系統(tǒng)上開發(fā)的應(yīng)用很難簡單地移植到其他操作系統(tǒng)平臺上。

    “現(xiàn)在的問題是移動(dòng)設(shè)備的操作系統(tǒng)和運(yùn)行平臺種類各不相同?!?Eclipse的移動(dòng)工具項(xiàng)目負(fù)責(zé)人、摩托羅拉開發(fā)工具架構(gòu)師Christian Kurzke說,“不同的設(shè)備有不同的開發(fā)框架和應(yīng)用框架?!?/P>

    即使運(yùn)行同一種操作系統(tǒng)的手機(jī),不同公司的手機(jī)上應(yīng)用的開發(fā)方法也可能不同?!拔以贏ndroid手機(jī)上做過試驗(yàn),我發(fā)現(xiàn)在不同公司的Android手機(jī)上開發(fā)應(yīng)用區(qū)別相當(dāng)大?!?iPhoneWebDev社區(qū)的創(chuàng)始人Christopher Allen說。

    這種不統(tǒng)一還體現(xiàn)在同一廠商的手機(jī)上。例如,Verizon計(jì)劃發(fā)布一個(gè)用來開發(fā)Windows Mobile和BlackBerry應(yīng)用的SDK,這個(gè)SDK針對Verizon網(wǎng)絡(luò)進(jìn)行了專門優(yōu)化,能改善使用Verizon網(wǎng)絡(luò)的手機(jī)用戶的個(gè)人體驗(yàn)。然而,對開發(fā)人員而言,意味著將來就要為不同的通信網(wǎng)絡(luò)開發(fā)應(yīng)用的不同版本。摩托羅拉也計(jì)劃發(fā)布Android手機(jī)的SDK,其中有摩托羅拉特殊的運(yùn)行庫,雖然摩托羅拉聲稱也能用這個(gè)SDK開發(fā)非摩托羅拉手機(jī)上的應(yīng)用。

    另外,一些第三方發(fā)布的通用開發(fā)平臺也讓事情變得更加復(fù)雜。比如,雖然蘋果發(fā)布了iPhone的SDK,但是開發(fā)人員也可以使用第三方的iPhone應(yīng)用開發(fā)工具。同樣,RIM有黑莓的SDK,但是除此之外,開發(fā)人員也可以使用第三方的開發(fā)工具。

    HTML 5能改變什么

    幸運(yùn)的是,像HTML 5這樣的Web技術(shù)也許能緩解上述問題?!癏TML 5的確會給移動(dòng)應(yīng)用的開發(fā)帶來福音,”維基百科基金的軟件開發(fā)技術(shù)人員Hampton Catlin說,這個(gè)規(guī)范提供了很多新的功能,如用于圖像顯示的畫布功能(Canvas)。

    “不再需要用Objective C(iPhone用),也不需要用Java(Android用),從本質(zhì)上說,你就是在手機(jī)上通過HTML 5下載一個(gè)非常復(fù)雜Web頁面?!?/P>

    Catlin說,WebKit瀏覽器引擎專門針對HTML 5提供了很多的支持,應(yīng)用程序如果使用這個(gè)瀏覽器就能同時(shí)運(yùn)行在iPhone、Palm Pre和Android上,而且開發(fā)人員仍然可以使用他們非常熟悉的技術(shù),如CSS、JavaScript等。盡管仍然免不了需要針對每一種設(shè)備進(jìn)行修改,但是,修改的代碼會非常少,每個(gè)設(shè)備需要修改的代碼不超過20行。

    Break.com的.Net開發(fā)人員Charles Taylor說,Palm Pre就特別適合采用運(yùn)行基于HTML 5的Web應(yīng)用?!澳菍⑹且粋€(gè)完全不同的世界,iPhone上的應(yīng)用開發(fā)將變得和傳統(tǒng)的Mac OS上的應(yīng)用開發(fā)一樣簡單?!?/P>

    Google和Palm都宣稱它們的手機(jī)支持HTML 5。對開發(fā)人員而言這是好事,會讓應(yīng)用的開發(fā)更為簡單,Google和Palm的SDK讓開發(fā)人員可以把HTML 5、CSS、JavaScript等功能與手機(jī)專有的功能結(jié)合起來。

    不過,到底是選擇基于HTML 5的方法還是專用SDK,人們需要進(jìn)行權(quán)衡。

    “雖然開發(fā)iPhone應(yīng)用要復(fù)雜得多,但是在iPhone平臺上的應(yīng)用也比Palm Pre上的功能更強(qiáng),比如,iPhone就比Palm Pre更容易開發(fā)出豐富有趣的游戲來?!?Taylor說。

    集成多種技術(shù)

    當(dāng)然,還有一種折中的辦法就是采用面向HTML的SDK。Rhomobile Rhodes platform就是這樣的一組工具,用它開發(fā)出來的應(yīng)用可以在多種不同的平臺上運(yùn)行,包括iPhone、Symbian、Android、Windows Mobile和BlackBerry等。開發(fā)人員所做的就是在MVC(model-view-controller)容器和一組HTML模板中寫入代碼,這些代碼用HTML和Ruby語言編寫,最后被編譯成在各種平臺上運(yùn)行的代碼。

    Appcelerator Titanium是與Rhodes近似的另一個(gè)工具,它支持HTML、CSS、JavaScript,利用它提供的API可以為Android和iPhone手機(jī)開發(fā)本地應(yīng)用。

    “越來越多的Web技術(shù)被應(yīng)用到移動(dòng)應(yīng)用的開發(fā)上,這就讓開發(fā)人員原來掌握的Web技能在開發(fā)移動(dòng)應(yīng)用時(shí)也可以發(fā)揮作用,而且應(yīng)用程度在不同平臺之間遷移也更簡單了?!敝Z基亞開發(fā)社區(qū)論壇的副總裁Purnima Kochikar說。

    不過,Web應(yīng)用也存在著不足,就是不能充分發(fā)揮手機(jī)的功能。因此,大多數(shù)開發(fā)平臺需要開發(fā)人員選擇到底是開發(fā)哪種應(yīng)用。比如,你需要選擇是開發(fā)在iPhone手機(jī)上的Web應(yīng)用,還是用蘋果自己的工具開發(fā)iPhone手機(jī)的本地應(yīng)用。同樣,RIM有一個(gè)Java開發(fā)環(huán)境,你可以用它來開發(fā)基于瀏覽器的應(yīng)用,也可以用它來開發(fā)黑莓應(yīng)用。開發(fā)Web應(yīng)用時(shí),開發(fā)人員可以利用黑莓SDK中的一些小工具(Widget),這些工具實(shí)際上就是Web應(yīng)用,但是它能訪問設(shè)備上的本地應(yīng)用,因此可以在設(shè)備與普通的Web應(yīng)用之間起到橋梁作用。蘋果的iPhone SDK也有類似的功能能讓開發(fā)人員把Web應(yīng)用與本地庫結(jié)合到一起。

    Eclipse的計(jì)劃

    Eclipse基金已經(jīng)啟動(dòng)了Pulsar計(jì)劃,準(zhǔn)備推出一個(gè)統(tǒng)一的移動(dòng)應(yīng)用開發(fā)平臺,但仍然需要不同的SDK,開發(fā)人員在為不同品牌的手機(jī)開發(fā)應(yīng)用時(shí)會調(diào)用相應(yīng)的SDK。這個(gè)平臺主要面向基于Java的“功能手機(jī)”(feature phone,目前市場銷售的大部分是這類手機(jī),如LG和三星的很多手機(jī),與智能手機(jī)相比,它們的多媒體功能和應(yīng)用稍微少一些),這就意味著開發(fā)人員在開發(fā)功能手機(jī)應(yīng)用時(shí)可以一次面向多種不同品牌的手機(jī),重復(fù)勞動(dòng)會減少很多。

    目前,其支持的手機(jī)類型包括Android(使用摩托羅拉的SDK)、諾基亞S60系列(使用諾基亞的C++SDK)和黑莓(使用RIM的Java框架),Eclipse計(jì)劃明年能支持基于Symbian的手機(jī)。

    但是,也有人對Eclipse這一計(jì)劃的前景不太樂觀,認(rèn)為由于不同品牌的手機(jī)在屏幕分辨率、性能和操作系統(tǒng)等方面都有太多的差異,要為不同的平臺提供一個(gè)統(tǒng)一的開發(fā)平臺是非常困難的。

 

分享

加入收藏

網(wǎng)友評論 0條評論
用其他賬號登錄:
請稍后,數(shù)據(jù)加載中...
查看全部0條評論 >
潮機(jī)范兒
諾基亞N86

參考價(jià):¥1450

0人點(diǎn)評

Copyright © 2007 - 北京沃德斯瑪特網(wǎng)絡(luò)科技有限責(zé)任公司.All rights reserved 發(fā)郵件給我們
京ICP證-070681號 京ICP備09081256號 京公網(wǎng)安備 11010502036320號