
開端
當(dāng)手持電腦剛步入主流的時候,開發(fā)者只有一個選擇:Palm Pilot。僅僅過了五年,他們又不得不考慮塞班和Pocket PC (亦即后來的Windows Mobile)。截至2009年,已經(jīng)至少有八個智能手機(jī)平臺:兩個Windows Mobile版本,兩個黑莓版本, iPhone,Android,塞班,和webOS,更別提那些運(yùn)行Java程序的傳統(tǒng)功能手機(jī)。
影響
開發(fā)者不得不在操作系統(tǒng)中做出艱難的選擇。更要命的是用戶越來越分散,呼吁不同版本的軟件,沒有一個操作系統(tǒng)絕對領(lǐng)先。直到幾個月前,他們還只有一個選擇:為不同的手機(jī)平臺單獨(dú)開發(fā)軟件,選擇支持哪些平臺,花費(fèi)巨額費(fèi)用,而得到的回報是一個未知數(shù)。
但是,這一問題正在發(fā)生變化。開發(fā)者有三個辦法可以實現(xiàn)跨平臺開發(fā)。技術(shù)雖然尚不成熟,但進(jìn)展會很快。
HTML 5和手機(jī)網(wǎng)
第一個選擇就是開發(fā)手機(jī)網(wǎng)頁版軟件??梢栽L問本地數(shù)據(jù)庫的HTML 5讓這一點(diǎn)成為可能。目前的問題有兩個:第一,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里編寫所有軟件,然后通過編譯軟件在多種手機(jī)瀏覽器上部署就可以了。
這也面臨著HTML 5的問題,因為用戶接受在瀏覽器內(nèi)運(yùn)行軟件需要一個適應(yīng)過程。此外,蘋果反對在瀏覽器中使用Flash的強(qiáng)硬立場也是一個巨大障礙,因為需要兩個完全不同的創(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ā)布。
但是手機(jī)開發(fā)的最大問題不是后端。所有平臺的骨干部分都基于C或Java,問題在于開發(fā)用戶界面需要深入了解各種手機(jī)??缙脚_界面開發(fā)技術(shù)解決了大部分此類問題。該技術(shù)的唯一不足就是跨平臺軟件看上去不那么“本地化”,需要高超的設(shè)計和CSS技巧。
結(jié)論
隨著智能手機(jī)行業(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)實。
Elia Freedman是Infinity Softworks公司CEO,該公司提供先進(jìn)的軟件計算器,目前其產(chǎn)品支持iPhone、黑莓、Windows、Palm OS和Windows Mobile平臺。Elia在自己的博客(eliainsider.com)上主要撰寫科技、手機(jī)和公司經(jīng)營方面的內(nèi)容。
編譯:pestwave