跨平臺手機軟件開發(fā)技術(shù)縱覽
隨著蘋果手機應(yīng)用商店的成功,中移動、電信和聯(lián)通也紛紛推出自己的手機應(yīng)用商城,51CTO曾多次報道《中國三大電信運營商轉(zhuǎn)戰(zhàn)“軟件商店”》的消息??梢哉f,進(jìn)行手機應(yīng)用軟件開發(fā)已成為一個潮流。但有一個問題一直困擾著廣大開發(fā)人員:作為一名開發(fā)者,開發(fā)支持多個手機平臺(沒有一個絕對領(lǐng)先者、需要漫長的學(xué)習(xí)過程)的軟件需要高昂的成本。終于,這一問題有望得到解決。
開端
#T#當(dāng)手持電腦剛步入主流的時候,開發(fā)者只有一個選擇:Palm Pilot。僅僅過了五年,他們又不得不考慮塞班和Pocket PC (亦即后來的Windows Mobile)。截至2009年,已經(jīng)至少有八個智能手機平臺:兩個Windows Mobile版本,兩個黑莓版本, iPhone,Android,塞班,和webOS,更別提那些運行Java程序的傳統(tǒng)功能手機。
影響
開發(fā)者不得不在操作系統(tǒng)中做出艱難的選擇。更要命的是用戶越來越分散,呼吁不同版本的軟件,沒有一個操作系統(tǒng)絕對領(lǐng)先。直到幾個月前,他們還只有一個選擇:為不同的手機平臺單獨開發(fā)軟件,選擇支持哪些平臺,花費巨額費用,而得到的回報是一個未知數(shù)。
但是,這一問題正在發(fā)生變化。開發(fā)者有三個辦法可以實現(xiàn)跨平臺開發(fā)。技術(shù)雖然尚不成熟,但進(jìn)展會很快。
HTML 5和手機網(wǎng)
***個選擇就是開發(fā)手機網(wǎng)頁版軟件??梢栽L問本地數(shù)據(jù)庫的HTML 5讓這一點成為可能。目前的問題有兩個:***,HTML 5的普及性;第二,用戶是否愿意把HTML 5當(dāng)成一種標(biāo)準(zhǔn)。***個問題可以通過時間和來自其它操作系統(tǒng)平臺的壓力得以解決,而第二個問題是個大問題,用戶接受網(wǎng)頁版軟件需要一個心理變化過程。
Flash
Adobe最近宣布進(jìn)軍移動領(lǐng)域,推出了支持大部分平臺的Flash瀏覽器,以及一個“Flash到iPhone軟件”編譯器。這樣,開發(fā)者只需在flash里編寫所有軟件,然后通過編譯軟件在多種手機瀏覽器上部署就可以了。
這也面臨著HTML 5的問題,因為用戶接受在瀏覽器內(nèi)運行軟件需要一個適應(yīng)過程。此外,蘋果反對在瀏覽器中使用Flash的強硬立場也是一個巨大障礙,因為需要兩個完全不同的創(chuàng)建過程。
要想Flash得到普及,操作系統(tǒng)廠家不得不對網(wǎng)頁版軟件和非網(wǎng)頁版軟件一視同仁。
JavaScript和本地軟件
有一類新的軟件正在崛起,這些本地軟件針對特定平臺匯編,但使用用戶界面的網(wǎng)頁技術(shù)。這種方法潛力***。***的要算PhoneGap。其它同類軟件還包括Appcelerator和Rhomobile(使用Ruby on Rails網(wǎng)頁語言)。
這些開源技術(shù)都允許開發(fā)者使用本地代碼編寫后臺過程,然后利用HTML,CSS和JavaScript開發(fā)用戶界面,然后把該軟件編譯成本地軟件,然后上傳到軟件商店,通過下載安裝進(jìn)行發(fā)布。
但是手機開發(fā)的***問題不是后端。所有平臺的骨干部分都基于C或Java,問題在于開發(fā)用戶界面需要深入了解各種手機??缙脚_界面開發(fā)技術(shù)解決了大部分此類問題。該技術(shù)的唯一不足就是跨平臺軟件看上去不那么“本地化”,需要高超的設(shè)計和CSS技巧。
結(jié)論
隨著智能手機行業(yè)的不斷發(fā)展,我們很難看到一個絕對領(lǐng)先者(不同于PC領(lǐng)域),因而,開發(fā)者不得不針對多種平臺開發(fā)軟件。但是,現(xiàn)在有了跨平臺開發(fā)技術(shù),開發(fā)者可以大大降低開發(fā)成本,縮短學(xué)習(xí)過程。
這些技術(shù)目前處于早期階段,但這是大勢所趨。Flash,HTML 5和JavaScript將讓“一次編寫,處處通用”變?yōu)楝F(xiàn)實;屆時,跨平臺的手機應(yīng)用軟件開發(fā)將成為現(xiàn)實。