1.前言
隨著移動互聯網產業持續快速的發展,以及智能手機、平板、智能電視等智能終端設備的普及,移動互聯網應用獲得了爆炸式增長。面對未來的廣闊市場,運營商、互聯網、設備生產商等產業巨頭紛紛構建了移動互聯網生態鏈,其中蘋果App Store成功創造了移動互聯網應用商業模式,激發出了廣大開發者進行移動互聯網應用創作的極大熱情。
移動互聯網應用形態主要分為原生應用和移動Web應用兩大類。這兩種形態的移動互聯網應用,我們暫且可以理解為PC平臺上的C/S架構應用和B/S架構應用,它們有著各自的優缺點。
目前,運行在移動終端上的應用大多都是原生應用,它通過終端操作系統支持的程序語言(如蘋果iOS系統支持使用Objective-C語言,谷歌Android系統支持使用Java語言,微軟Windows Phone系統支持使用C#語言)編寫,軟件直接運行在操作系統之上。原生應用可以完全利用終端操作系統的A P I和平臺特性,具有開發能力強、交互性好、效率高等優點。由于原生應用通常需要依靠廠商提供的特定開發語言和開發工具進行軟件開發,因而一款移動互聯網應用若要覆蓋多種移動終端平臺,開發者需要花費大量的時間和精力進行跨平臺的開發移植工作,導致應用開發周期長、開發門檻高等問題。
移動Web應用,簡單理解就是針對移動終端優化過的Web網站,采用網頁語言(HTML、JavaScript、CSS)開發, 運行于終端瀏覽器之上,具有開發簡單、跨平臺適配等優點。缺點是應用基于瀏覽器,無法調用系統API(如手機的重力感器、攝像頭等API)來實現一些高級功能,也不適合高性能要求的場合。
2.智能終端跨平臺開發技術
為了滿足開發者進行跨平臺移動互聯網應用開發的需要,盡量減少針對不同的終端平臺進行的二次開發和適配工作,出現了兩類主要的跨平臺開發技術:基于HTML5的移動Web應用開發與混合應用(HybirdApp)開發。
2.1 基于HTML5的移動Web應用開發
基于HTML5的移動Web應用開發,繼承了前述移動Web應用的開發簡單、跨平臺適配的優點,并通過HTML5支持的Geolocation、Vibration、Battery Status等跨平臺API,實現對終端硬件的調用,從而可以實現部分原來只能通過原生應用才能實現的復雜功能。
移動Web應用部署于Web服務器,移動終端通過瀏覽器訪問應用時, 服務器以Html5、CSS3和JavaScript形式的數據響應瀏覽器的請求。應用的UI展現及其動態切換效果,是通過Webkit內核對HTML5、CSS3和JavaScript的解析實現的,應用對終端硬件的跨平臺調用是通過瀏覽器提供的JavaScript擴展API實現的。其架構如圖1所示:
圖1 基于HTML5的移動Web應用架構圖
移動互聯網應用開發通常需要充分調用終端的硬件能力,但由于HTML5標準還未完成制定,因而各種移動終端瀏覽器對HTML5支持程度還有很大差別,無法保證良好的跨平臺硬件能力調用。
鑒于上述原因,為了充分發揮Web應用開發的跨平臺特性和原生應用開發自由調用系統API的特性,出現了結合兩者優點的混合應用開發技術。
2.2 混合應用開發
混合應用開發彌補了原生應用開發和移動Web應用開發模式各自的缺陷,繼承了雙方各自的優勢。首先,它讓開發者通過一次性的Web應用代碼編寫,即可編譯成多種類型終端平臺上的應用程序,大大提高了多平臺開發的效率。其次,它可讓為數眾多的Web開發人員以幾乎零成本轉型為移動應用開發者。另外,相對于移動Web應用,混合應用開發者可以自行進行系統API封裝,調用任何期望的系統能力,這可以在很大程度上克服目前HTML5跨平臺API匱乏的缺陷。
混合應用開發與基于HTML5的移動Web應用開發的區別主要在于,應用對終端硬件的跨平臺調用是通過JavaScript調用自行封裝或者由第三方插件封裝的系統API實現的。另外,混合應用程序,包括HTML、CSS 、JavaScript和系統API封裝等都是部署于終端側的,應用的UI展現及其動態切換效果,同樣是通過Webkit內核的解析實現,構建出類似Web應用的移動應用UI。而Web服務器主要部署Web Service接口,終端程序通過Ajax與其進行數據交互。其架構如圖2所示:
圖2 混合應用架構圖
3.移動互聯網應用跨平臺開發
隨著智能終端的迅速普及推廣,進行高效率、低成本的跨平臺移動互聯網應用開發的需要日益迫切,因而出現了眾多跨平臺框架。這些框架主要分為兩類:移動Web開發框架和跨平臺開發框架。通過這兩類開發框架的組合運用,可以實現更加快捷高效的跨平臺混合應用開發。
3.1 移動Web開發框架
移動Web開發框架主要用于構建運行于移動終端Web瀏覽器中的跨平臺界面(HTML、JavaScript 、CSS)。移動Web開發框架眾多,包括jQueryMobile、Sencha Touch、iWebKit、Safire、WebApp.Net、Dojo Toolkit等,常用的移動Web開發框架包括jQuery Mobile和Sencha Touch,兩者均支持HTML5。
jQuery Mobile建立在jQuery和jQuery UI框架之上,為移動設備上的移動互聯網應用開發提供jQuery核心庫和jQuery移動UI框架。它繼承了jQuery 支持多瀏覽器的特性,支持iOS、Android、BlackBerry、Palm WebOS、Symbian、Windows Phone、bada、MeeGo等主流移動平臺。
SenchaTouch由基于JavaScript編寫的Ajax框架ExtJS,整合JQTouch、Raphaël庫而來。它繼承了ExtJS的優點,提供針對觸摸屏的豐富的UI布局解決方案,支持復雜交互,目前支持iOS、Android、BlackBerry、Windows Phone平臺。
與Sencha Touch相對比,jQuery Mobile屬于輕量級框架,支持的UI復雜度較低,但它開發門檻低,支持更多移動平臺。因而,jQuery Mobile更適合交互較為簡單的移動互聯網應用的開發,而Sencha Touch更適合面向特定行業的有豐富交互需求的產品化應用的開發,如企業辦公系統和移動信息化應用。
3.2 跨平臺開發框架
跨平臺開發框架主要用于提供跨平臺API,讓開發者不必關心各終端平臺的系統API和原生開發語言,通過Web開發就可以完成跨平臺混合應用的開發。國內常用的跨平臺開發框架包括phoneGap、AppCan、WAC Widget。
Phone Gap是一個讓開發者通過普通的Web技術編程,快速創建跨平臺移動應用程序的混合應用開發平臺。它支持iOS 、Android、BlackBerry、PalmWebOS、Symbian、Windows Phone、bada等主流移動平臺,支持的硬件API包括重力感應、攝像頭、通訊錄、文檔、地理定位、聲音和振動等。此外,它還擁有豐富的第三方插件,功能可以無限擴展,并且采用開源MIT許可證。
AppCan是國產的混合應用開發平臺,它著重解決了基于HTML5的移動應用不流暢和體驗差的問題,使得基于AppCan開發的HTML5移動應用的用戶體驗基本接近原生應用的體驗。它支持iOS、Android、Windows Phone等主流移動平臺。
WAC Widget是一種可運行在移動設備上的Widget開發框架,它支持標準Web技術開發,支持iOS、Android、Symbian、Windows Phone等主流移動平臺,通過它定義的一套完整的API可以訪問移動終端系統和網絡側平臺,例如語音呼叫、通信錄、文件操作、系統軟硬件信息、拍照、重力感應、位置服務等。它是由W3C著手制定的一套Widget系列規范,獲得了全球眾多運營商、廠商的廣泛支持。
3.3 跨平臺混合應用開發
移動Web開發框架可以顯著提高移動Web應用的開發效率,而PhoneGap等跨平臺開發框架可以減少甚至避免混合應用開發中的原生開發的工作。在移動互聯網應用開發中,跨平臺開發比原生開發擁有更高的開發效率;而基于移動Web開發框架和跨平臺開發框架的跨平臺混合應用開發,可以進一步提高應用開發效率,顯著降低開發成本。
跨平臺混合應用開發主要分為移動Web開發和原生開發兩部分工作,移動Web開發主要用于構建混合應用的界面和業務邏輯等,而原生開發主要是針對不同終端系統平臺進行跨平臺API的封裝,為基于Web技術開發的移動應用提供統一的JavaScript接口。
基于HTML5的移動Web開發和跨平臺混合應用開發兩類跨平臺開發技術,兩者的共同基礎是Web開發,不同點是前者通過HTML5標準支持跨平臺API,后者通過終端原生開發支持跨平臺API?缙脚_混合應用開發框架與移動Web開發框架的關系如圖3所示。
圖3 移動Web開發與跨平臺混合開發的關系
4.結束語
隨著移動互聯網的飛速發展、智能終端的迅速普及,移動互聯網應用低成本運營的需求日益強烈,這就催生了基于HTML5的移動Web應用和混合應用兩類跨平臺開發技術。而移動Web開發框架和跨平臺開發框架的出現,進一步推動了移動互聯網應用跨平臺開發技術的發展。
相信在不遠的將來,隨著移動終端瀏覽器對HTML5標準支持度和運行效率的迅速提高,移動互聯網應用跨平臺開發技術將會獲得迅猛發展,完全有可能替代原生應用開發技術,成為移動互聯網應用開發的首要技術。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:移動互聯網應用跨平臺開發研究
本文網址:http://www.guhuozai8.cn/html/consultation/10839411076.html