當前位置: CNMO > 新聞 > 正文

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

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

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

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

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

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

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

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

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

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

    HTML 5能改變什么

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

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

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

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

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

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

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

    集成多種技術(shù)

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

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

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

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

    Eclipse的計劃

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

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

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

 

分享

加入收藏

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

參考價:¥1450

0人點評

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