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