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