智能移動設備的多樣性和相關標準的缺失決定了移動應用開發的復雜性,這使得移動應用平臺的選擇更為關鍵。
移動應用是一個正在迅速崛起的市場。隨著智能手機和平板電腦的普及,很多企業開始將移動應用納入企業的整體信息化戰略中,而原本在移動應用上已有很大投入的企業(如保險行業)則在進一步深化移動應用,這在很大程度上推動了移動應用市場的快速成長;而另一方面,蘋果公司的App Store獲得巨大的成功引來了眾多跟隨者,Google、諾基亞、微軟、惠普紛紛效仿App Store建起了自己的“應用商店”,這些“應用商店”為開發者提供了一個很好的展示和銷售平臺,極大地刺激開發者們的開發熱情。蘋果公司CEO喬布斯在iPad 2的發布會上就曾表示,從蘋果公司2008年推出App Store以來,已經為App Store和Mac App Store向開發者支付了20億美元的費用。
不過,無論是為企業制定移動應用戰略的CIO,還是準備在“移動應用商店”發布應用的個人開發者,都面臨著一個共同的問題,這就是應用平臺的選擇。因為與傳統PC平臺不同,智能移動設備種類繁多,還沒有哪種移動操作系統擁有像Windows在PC平臺上的絕對壟斷地位,而在資源不足的情況之下,選擇一種平臺常常意味著放棄其他平臺(用戶),此時決策者就不得不多方權衡、綜合考量。
選Andriod還是iOS ?
Andriod和iOS是當今移動應用中最為流行的兩個平臺,到底選哪一個常常是開發應用之前最先要面對的。
iOS是當下風頭最勁的智能手機iPhone和平板電腦iPad的支持平臺,其App Store也是最為成功的“應用商店”,蘋果公司巨大的影響力以及iPhons和iPad較高的市場占有率,使得iOS成為開發者首選的移動平臺。這一決策本身無可厚非,但決策者需要明白這一決定意味著什么,特別是那些準備通過蘋果的App Store發布應用的開發者。
首先,基于iOS的應用主要的開發語言是Objective-C,這是一種對開發人員有較高要求的編程語言,對初學者而言有些復雜、繁瑣,不過,也是一種很實用的開發語言,功能非常強大而且靈活,很受高水平開發者的喜愛。而且,相比Andriod平臺,iOS在API接口方面更成熟一些,工具也更完善。同時,iOS采用的是本地碼,與Andriod的虛擬機方式相比其效率要高出不少。
其次,蘋果的iOS是一個相對封閉的開發體系。對開發者的限制較多,特別是要把應用發布到App Store時。比如,蘋果公司會對發布的應用進行審核,如果認為不合適(可能根本就不給出很確切的理由)就會拒絕,可能是技術方面的(如危及系統安全),也可能是市場方面(如與蘋果公司的某些產品功能雷同)等。此外,雖然蘋果公司對App Store的應用程序提成高達30%,但它通常不會向開發者提供銷售情況的統計數據,比如不會提供下載用戶的姓名、郵件地址等。而且,對App Store的應用程序,開發者理論上可以自由定價,但蘋果公司通常會建議你把價格定在10美元以下。盡管如此,App Store 2億的注冊用戶和其完善的銷售和支付渠道對于移動應用開發者無疑具有相當的誘惑力,尤其對涉足移動應用市場不久的公司或者個人而言,因為這可以讓它們集中精力完善產品功能,而不是在市場拓展。
值得一提的是,iOS不支持Flash,這對于一些應用而言,可能不是一個好消息,所以在決策之前必須明白這一點。
相對iOS而言,Google的Andriod是一個開放的體系。由于Andriod基于Java,這使得它可以利用很多現存的Java開發環境,而且其應用開發也比iOS平臺更容易,這就意味著開發人員相對容易找。而且,Andriod用戶數正在不斷增長。如今很多設備制造商推出了基于Andriod的手機和平板電腦,其市場占有率一直在上升,有人甚至認為Andriod在未來幾年可能會遠遠超過iOS。另外,與App Store相比,Andriod平臺對開發者的限制要少得多。而其不足在于,由于Andriod是一個開放的系統,使得很多手機制造商推出了定制的Andriod版本,這使得應用的可移植性成為一個問題。
第三條道路
在移動應用市場,除了最為流行的Andriod和iOS之外,還有微軟的Windows Phone7、RIM的BlackBerry以及諾基亞的塞班等;如果只面向Andriod或者iOS開發移動應用,就意味著放棄了其他平臺上的用戶,而這在某些場合是不可行的。此時,除了再為每個平臺開發一套應用之外,還有第三條道路可走,也就是開發跨平臺的移動應用。
此時,HTML 5是最容易想到的跨平臺技術。在PC平臺,就有越來越多的Web應用基于HTML 5開發,以實現應用跨瀏覽器的呈現。在移動應用領域,目前也有一些開發者嘗試利用HTML 5來開發基于移動瀏覽器的應用以實現跨平臺,尤其是那些以信息發布為主的應用,HTML 5幾乎是他們的必然選擇。不過,這門技術要在移動平臺上應用還有不足,特別是那些功能較復雜、有較多JavaScript腳本的應用要用HTML 5來開發,難度很高。但是,業內人士認為,未來HTML 5在移動應用中的使用一定會越來越普及。與HTML 5相似的還有J2ME,這也被很多人用來開發跨平臺的移動應用,但是技術難度同樣很大。
除了HTML 5和J2ME之外,還可以借助第三方的跨移動平臺開發框架來減輕開發難度,特別是對于那些要利用手機外設的應用(如照相、GPS),那些跨平臺的開發框架(如PhoneGap)已經預設了對這些功能的支持,可以大大減輕開發跨平臺應用的難度。
當然,跨平臺移動應用最終解決還得依賴于有關標準的制定,這無疑需要時間,但無論如何,PC應用的演進歷史告訴我們,基于瀏覽器的應用可能是跨平臺的最好選擇。