国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Hybrid App技術(shù)的企業(yè)移動(dòng)應(yīng)用系統(tǒng)構(gòu)建研究

2016-05-14 04:09:55王榮海
軟件工程 2016年7期
關(guān)鍵詞:插件模板

王榮海

摘 要:隨著移動(dòng)互聯(lián)網(wǎng)的迅猛發(fā)展,企業(yè)移動(dòng)信息化已成為大多數(shù)企業(yè)的共識(shí)。研究快速構(gòu)建企業(yè)移動(dòng)應(yīng)用系統(tǒng)具有重要的實(shí)際意義。本文在剖析目前對(duì)混合模式移動(dòng)應(yīng)用Hybrid App技術(shù)研究及應(yīng)用的基礎(chǔ)上,給出Hybrid App應(yīng)用開發(fā)模型。針對(duì)目前企業(yè)移動(dòng)信息化的需求,提出了一個(gè)利用Hybrid App技術(shù)構(gòu)建企業(yè)移動(dòng)應(yīng)用系統(tǒng)的方案。該方案包括系統(tǒng)總體架構(gòu),Hybrid App開發(fā)平臺(tái)選型,模板與插件應(yīng)用,現(xiàn)有業(yè)務(wù)系統(tǒng)集成及云端部署等內(nèi)容。

關(guān)鍵詞:Hybrid App;企業(yè)移動(dòng)應(yīng)用;模板;插件;移動(dòng)代理服務(wù)

中圖分類號(hào):TP311.5 文獻(xiàn)標(biāo)識(shí)碼:A

1 引言(Introduction)

根據(jù)中國互聯(lián)網(wǎng)絡(luò)信息中心2016年1月發(fā)布的統(tǒng)計(jì)報(bào)告,截至2015年12月,我國手機(jī)網(wǎng)民規(guī)模達(dá)6.20億。隨著手機(jī)網(wǎng)民不斷增加,各種移動(dòng)應(yīng)用層出不窮,大眾移動(dòng)應(yīng)用的普及基本完成。企業(yè)移動(dòng)應(yīng)用需求開始爆發(fā),企業(yè)移動(dòng)信息化成為大部分企業(yè)的必然選擇,大型企業(yè)已在紛紛規(guī)劃各自的移動(dòng)戰(zhàn)略,很多企業(yè)也開始考慮允許BYOD(員工自帶設(shè)備)使用企業(yè)的內(nèi)部應(yīng)用。隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,企業(yè)目前的現(xiàn)有信息系統(tǒng)及新開發(fā)的信息系統(tǒng)必然要與移動(dòng)應(yīng)用結(jié)合,由此引發(fā)了企業(yè)移動(dòng)應(yīng)用開發(fā)的熱潮,近十幾年來國外對(duì)企業(yè)移動(dòng)信息化的研究也在不斷持續(xù)深入[1-3]。根據(jù)IDC的一份報(bào)告,2014年中國企業(yè)級(jí)移動(dòng)應(yīng)用解決方案市場規(guī)模達(dá)到16.3億美元,到2017年這個(gè)數(shù)字將達(dá)到48億美元,2014至2017年復(fù)合增長率將達(dá)到43.5%[4]。

移動(dòng)應(yīng)用開發(fā)主要有移動(dòng)Web應(yīng)用程序、Native App原生本機(jī)應(yīng)用程序,以及近年來興起的Hybrid App混合模式移動(dòng)應(yīng)用。Hybrid App綜合了前兩者的優(yōu)點(diǎn),它使用HTML5來創(chuàng)建用戶界面,但將HTML包裝到本機(jī)的容器中。它既具有移動(dòng)Web應(yīng)用程序易于開發(fā)的特點(diǎn),又能夠像Native App具有訪問設(shè)備的能力,同時(shí)具有很好的跨平臺(tái)特性,使得一次開發(fā)能夠在多種移動(dòng)操作系統(tǒng)中部署。

2 Hybrid App技術(shù)研究及應(yīng)用現(xiàn)狀(Present

situation of technology research and application

of Hybrid App)

Hybrid App技術(shù)是近年來才出現(xiàn)的跨平臺(tái)移動(dòng)開發(fā)技術(shù),目前已經(jīng)出現(xiàn)了多個(gè)基于Hybrid App技術(shù)的開發(fā)平臺(tái),國內(nèi)外學(xué)者也對(duì)相關(guān)的技術(shù)及應(yīng)用進(jìn)行了研究。

2.1 主流Hybrid App開發(fā)平臺(tái)

目前主流的Hybrid App開發(fā)平臺(tái)包括:

(1)PhoneGap:國外的開源移動(dòng)開發(fā)平臺(tái),目前為Adobe公司擁有。它基于HTML、CSS和JavaScript,可以使用一些開源的框架如jQuery Mobile、Dojo Mobile、SenchaTouch等來提高用戶體驗(yàn),同時(shí)提供了比較豐富的原生插件調(diào)用。

(2)AppCan:國內(nèi)移動(dòng)開發(fā)中使用最廣的移動(dòng)平臺(tái),AppCan不僅封裝了類似于PhoneGap的本地調(diào)用功能,而且封裝了uexWindow多窗口機(jī)制,實(shí)現(xiàn)了移動(dòng)端的iframe效果,目前AppCan已擁有80萬人次的注冊開發(fā)者,創(chuàng)建的應(yīng)用的用戶已經(jīng)達(dá)到幾千萬,并且提供了定位于企業(yè)用戶的企業(yè)版套裝版本。

(3)Titanium:將JavaScript和本地庫鏈接在一起,編譯成字節(jié)碼,針對(duì)iOS和Android兩個(gè)平臺(tái)分別構(gòu)建一個(gè)軟件包。

(4)Ionic:提供了Hybrid App的基礎(chǔ)CSS、UI控件、工程架構(gòu)和最佳實(shí)踐,主要關(guān)注移動(dòng)應(yīng)用的UI展示和UI交互。

(5)ExMobi:國內(nèi)移動(dòng)開發(fā)平臺(tái),實(shí)現(xiàn)與Appcan類似功能。ExMobi從開發(fā)、集成、打包、發(fā)布、管理上提供了一套完整的移動(dòng)化應(yīng)用解決方案。

2.2 國內(nèi)外研究現(xiàn)狀

近年來國內(nèi)外學(xué)者對(duì)Hybrid App相關(guān)技術(shù)及應(yīng)用的研究也逐步展開。研究的方向主要集中在對(duì)相關(guān)開發(fā)平臺(tái)的剖析及應(yīng)用,文獻(xiàn)[5]—[8]對(duì)PhoneGap及其應(yīng)用進(jìn)行了相關(guān)研究,文獻(xiàn)[9]和文獻(xiàn)[10]對(duì)AppCan及其應(yīng)用進(jìn)行了研究,文獻(xiàn)[11]對(duì)Titanium及其應(yīng)用進(jìn)行了研究,通過對(duì)這些研究進(jìn)行剖析,結(jié)合筆者對(duì)這些平臺(tái)的應(yīng)用與研究,可總結(jié)出Hybrid App的應(yīng)用開發(fā)模型如圖1所示。

各種Hybrid App開發(fā)平臺(tái)在性能、開發(fā)效率、支持的原生應(yīng)用等方面略有差別,就目前來看,在國外PhoneGap應(yīng)用最為廣泛,而國內(nèi)則是AppCan。而在應(yīng)用研究方面,幾個(gè)文獻(xiàn)中給出的應(yīng)用案例都相對(duì)較為簡單,沒有涉及大型的應(yīng)用系統(tǒng)。

3 企業(yè)移動(dòng)應(yīng)用系統(tǒng)構(gòu)建方案(Construction

solution of enterprise mobile application system)

通過搜索與分析國內(nèi)招聘網(wǎng)站,單獨(dú)招聘Android或iOS開發(fā)工程師的職位大大超過了Hybrid App開發(fā)工程師的職位。這從一個(gè)側(cè)面反映了目前國內(nèi)大部分的移動(dòng)開發(fā)仍然不能支持跨平臺(tái)。對(duì)于企業(yè)移動(dòng)應(yīng)用,這造成了一套應(yīng)用需要多個(gè)技術(shù)團(tuán)隊(duì)支持,延長了項(xiàng)目的交付周期,同時(shí)造成項(xiàng)目成本的增加。

3.1 Hybrid App技術(shù)與企業(yè)移動(dòng)信息化需求

企業(yè)移動(dòng)信息化的終極目標(biāo)是實(shí)現(xiàn)員工在任何時(shí)間(Anytime)、任何地點(diǎn)(Anywhere)處理與業(yè)務(wù)相關(guān)的任何事情(Anything)的3A模式,使企業(yè)全員都處于3A狀態(tài)下,可大大提升企業(yè)運(yùn)作效率、決策質(zhì)量及企業(yè)整體快速應(yīng)變能力,更好地了解和滿足客戶需求[12]。企業(yè)對(duì)移動(dòng)應(yīng)用的需求將越來越大,對(duì)移動(dòng)應(yīng)用的管理也將越來越復(fù)雜,傳統(tǒng)的開發(fā)方式將不利于企業(yè)移動(dòng)應(yīng)用戰(zhàn)略的實(shí)施。

Hybrid App技術(shù)能夠屏蔽移動(dòng)設(shè)備的技術(shù)差異,使開發(fā)人員專注于具體業(yè)務(wù)實(shí)現(xiàn),不用考慮過多底層技術(shù)細(xì)節(jié)。同時(shí)便于建立統(tǒng)一的技術(shù)架構(gòu)和設(shè)計(jì)、開發(fā)、測試及運(yùn)行維護(hù)規(guī)范,有助于提升項(xiàng)目開發(fā)效率和交付質(zhì)量。并且有利于企業(yè)移動(dòng)應(yīng)用門戶的建立,可以有效掌控每類應(yīng)用的使得情況,實(shí)現(xiàn)集中管控的目的。通過Hybrid App技術(shù)構(gòu)建企業(yè)移動(dòng)應(yīng)用門戶,將成為今后一段時(shí)間內(nèi)企業(yè)實(shí)施移動(dòng)信息化戰(zhàn)略的一個(gè)發(fā)展方向。

3.2 系統(tǒng)架構(gòu)

目前對(duì)利用Hybrid App技術(shù)構(gòu)建企業(yè)移動(dòng)應(yīng)用系統(tǒng)的研究相對(duì)較少。文獻(xiàn)[13]對(duì)利用跨平臺(tái)移動(dòng)技術(shù)構(gòu)建企業(yè)CRM系統(tǒng)提出了一個(gè)指導(dǎo)性的方案,但側(cè)重于對(duì)功能的分析,對(duì)系統(tǒng)架構(gòu)的描述相對(duì)比較簡略。國內(nèi)的文獻(xiàn)基本上都是針對(duì)Hybrid App技術(shù)在小型系統(tǒng)上的應(yīng)用進(jìn)行研究,極少結(jié)合云平臺(tái)。本文嘗試性地給出一個(gè)結(jié)合Hybrid App技術(shù)和云平臺(tái)的構(gòu)建企業(yè)移動(dòng)應(yīng)用系統(tǒng)的解決方案,其系統(tǒng)總體架構(gòu)如圖2所示。

(1)利用Hybrid App技術(shù)開發(fā)的移動(dòng)程序通過Hybrid引擎的打包服務(wù)可以生成Android、iOS等不同平臺(tái)移動(dòng)App,也可以生成供微信公眾號(hào)訪問的代碼,還可以生成供移動(dòng)設(shè)備Web端訪問的代碼。

(2)服務(wù)器使用云服務(wù)器,Web服務(wù)器與數(shù)據(jù)庫服務(wù)器分開部署。

(3)各客戶端與云端進(jìn)行數(shù)據(jù)交換。

(4)通過MAS移動(dòng)業(yè)務(wù)整合使得開發(fā)的移動(dòng)應(yīng)用可以訪問企業(yè)原有業(yè)務(wù)系統(tǒng),如ERP、CRM、OA系統(tǒng)等。

3.3 開發(fā)平臺(tái)選型

針對(duì)主流的Hybrid App開發(fā)平臺(tái),結(jié)合企業(yè)移動(dòng)應(yīng)用的實(shí)際需求,需要在技術(shù)先進(jìn)性、平臺(tái)完備性、數(shù)據(jù)連通性、移動(dòng)安全性、部署便利性、定制服務(wù)能力及成功案例等方面進(jìn)行研究與比較,在研究中可以采用如下方法:

(1)理論評(píng)測。針對(duì)開發(fā)平臺(tái)所需的產(chǎn)品特性,橫向比較各個(gè)開發(fā)平臺(tái)的功能特性,檢查平臺(tái)的完備性。

(2)POC原型驗(yàn)證。在固定周期內(nèi),對(duì)開發(fā)平臺(tái)進(jìn)行一項(xiàng)或多項(xiàng)功能原型進(jìn)行驗(yàn)證,考核開發(fā)平臺(tái)基礎(chǔ)技術(shù)特性以及平臺(tái)開發(fā)商的客戶服務(wù)能力。

(3)綜合實(shí)力考核??疾扉_發(fā)商的綜合實(shí)力包括成立時(shí)間、人員規(guī)模、成功案例、業(yè)界口碑、技術(shù)服務(wù)能力及深度合作意愿等。

3.4 模板與插件機(jī)制

為提高開發(fā)效率,可以充分利用Hybrid App開發(fā)平臺(tái)的模板與插件機(jī)制。

模板是在集成開發(fā)環(huán)境中預(yù)置的一些界面及代碼,比如AppCan開發(fā)環(huán)境集成了多套應(yīng)用模板,可以在新建項(xiàng)目時(shí)生成電商、新聞、閱讀、移動(dòng)OA及空模板,供開發(fā)者套用和定制,完成快速開發(fā),如圖3所示。另外還預(yù)置了上百套頁面布局模板,支持各種形式的布局樣式。如頁面只有頂部欄、頁面既有頂部欄又有底部欄、抽屜等;支持內(nèi)容區(qū)域布局樣式,如列表、表單、九宮格、表格等。

如果應(yīng)用比較復(fù)雜,或者需要采用更多移動(dòng)設(shè)備的本地功能,或者某些特定平臺(tái)具有其他平臺(tái)沒有的一些特性時(shí),就需要用到插件機(jī)制。不同Hybrid開發(fā)平臺(tái)編寫插件的步驟略有不同,比如對(duì)于PhoneGap通常插件至少包括兩個(gè)部分:

(1)獲得原生功能的JavaScript鉤子文件。

(2)使用原生語言編寫代碼,對(duì)于Android使用Java,iOS使用Objective-C或Swift,Windows Phone使用C#,用于和設(shè)備底層進(jìn)行交互。

插件編寫完后,利用開發(fā)平臺(tái)的功能生成插件包,就可以在移動(dòng)應(yīng)用系統(tǒng)的開發(fā)中使用了。

為了與企業(yè)原有的業(yè)務(wù)系統(tǒng)相集合,一些Hybrid App開發(fā)平臺(tái)提供了MAS服務(wù)即移動(dòng)代理服務(wù)用來實(shí)現(xiàn)移動(dòng)業(yè)務(wù)整合。以AppCan為例,AppCan的MAS服務(wù)構(gòu)建了統(tǒng)一的接口平臺(tái),可以通過Web Service、SOAP、ODBC、LDAP等協(xié)議整合原有業(yè)務(wù)系統(tǒng)各類服務(wù)接口,使得前端移動(dòng)應(yīng)用程序可以通過這些接口訪問原有業(yè)務(wù)系統(tǒng)數(shù)據(jù)。通過MAS進(jìn)行移動(dòng)業(yè)務(wù)整合通常包括以下步驟:

(1)新建一個(gè)MAS服務(wù)。

(2)在MAS服務(wù)下面新建一個(gè)MAS項(xiàng)目。

(3)在MAS項(xiàng)目下面新建一個(gè)接口。

(4)調(diào)試并且部署接口。

(5)開發(fā)人員調(diào)用接口。

3.6 云端部署

云端部署依賴于所采用的Web服務(wù)器及數(shù)據(jù)庫服務(wù)器。本文建議Web服務(wù)器采用Node JavaScript服務(wù)器,這樣可以使得移動(dòng)應(yīng)用開發(fā)的前端與服務(wù)端使用統(tǒng)一的語言,可以極大地提高開發(fā)的效率。Node沒有線程,但可以很方便地處理多個(gè)并發(fā)客戶端的請求,比如移動(dòng)應(yīng)用程序要訪問數(shù)據(jù)庫并顯示一些產(chǎn)品詳細(xì)信息,其過程如下[14]:

(1)移動(dòng)應(yīng)用程序發(fā)送一個(gè)HTTP GET的請求,整個(gè)請求包括報(bào)頭一共500字節(jié)。

(2)Node先接收250字節(jié),其余被延遲接收,接收到的數(shù)據(jù)存儲(chǔ)在臨時(shí)緩沖區(qū)中,接著等待其他客戶端的請求。

(3)其他幾個(gè)客戶端同時(shí)進(jìn)行并發(fā)請求,它們數(shù)據(jù)一部分也已到達(dá),Node緩存這些請求。這與多線程服務(wù)器類似,但沒有線程化的開銷。

(4)這時(shí),第一個(gè)請求剩余250個(gè)字節(jié)到達(dá)。Node調(diào)用事件處理函數(shù)處理該請求。

(5)事件處理函數(shù)處理請求,通過產(chǎn)品標(biāo)識(shí)符請求數(shù)據(jù)庫加載產(chǎn)品信息。

(6)將請求發(fā)給數(shù)據(jù)庫后,Node立即回來繼續(xù)處理客戶端請求,無須等待數(shù)據(jù)庫響應(yīng)結(jié)果,這是Node可同時(shí)處理多個(gè)并發(fā)請求的原因。

(7)經(jīng)過一段時(shí)間,數(shù)據(jù)庫發(fā)回產(chǎn)品詳細(xì)信息,這些從數(shù)據(jù)庫返回的字節(jié)和從移動(dòng)應(yīng)用程序發(fā)來的字節(jié)采用同樣方式處理。當(dāng)所有數(shù)據(jù)傳送完畢后,Node調(diào)用數(shù)據(jù)庫事件處理程序。

(8)將數(shù)據(jù)庫結(jié)果集格式化成HTML發(fā)送回移動(dòng)客戶端。

本文建議數(shù)據(jù)庫使用基于NoSQL的MongoDB,MongoDB內(nèi)置了對(duì)JSON的支持,可以與Node很好地配合使用。使用MongoDB不需要預(yù)先定義表和列就可以按需存儲(chǔ)新的數(shù)據(jù)實(shí)體,向MongoDB發(fā)送JSON格式文檔,MongoDB就會(huì)保存,可以根據(jù)這些JSON文檔屬性來進(jìn)行搜索,方便了使用JavaScript編寫服務(wù)器代碼。

4 結(jié)論(Conclusion)

本文在研究Hybrid App相關(guān)技術(shù)及企業(yè)移動(dòng)信息化現(xiàn)狀的基礎(chǔ)上,提出了一個(gè)基于Hybrid App技術(shù)的企業(yè)移動(dòng)應(yīng)用系統(tǒng)構(gòu)建方案,同時(shí)對(duì)該方案涉及的關(guān)鍵技術(shù)做了分析與研究。初步的實(shí)踐表明,這個(gè)方案具有一定的可行性,對(duì)目前企業(yè)移動(dòng)應(yīng)用系統(tǒng)的開發(fā)具有一定的借鑒作用。

參考文獻(xiàn)(References)

[1] Ragnar Schierholz,Lutz Kolbe,Walter Brenner.Strategy Alignment of Mobile Solutions in Customer-Oriented Processes[J].Wirtschafts informatik,2005,47(1):17-24.

[2] Jitendra Maan.Enterprise Mobility-A Future Transformation Strategy for Organizations[C].Proceedings of the Second International Conference on Computer Science,Engineering & Applications(ICCSEA 2012),2012:559-567.

[3] N.Shenbagavadivu,I.Bremnavas,B.Lakshmi.A Generalized Distributed Delegate Object Model for E-com and M-com Applications[J].Arabian Journal for Science and Engineering,

2016,41(8):2903-2910.

[4] 陳其偉,李易,趙慶華.移動(dòng)平臺(tái)——托起企業(yè)“互聯(lián)網(wǎng)+”的基石[M].北京:電子工業(yè)出版社,2015.

[5] 潘春華,等.基于PhoneGap的智能手機(jī)跨平臺(tái)應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2014,23(7):106-109.

[6] 李張永,陳和平,顧進(jìn)廣.跨平臺(tái)移動(dòng)Web開發(fā)框架與數(shù)據(jù)交互方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2014,35(5):1827-1832.

[7] Paulo R.M.de Andrade,Adriano B.Albuquerque.Cross Platform App A Comparative Study[J].International Journal of Computer Science & Information Technology,2015,7(1):33-40.

[8] 楊葉,陳琳,董啟標(biāo).基于PhoneGap的跨平臺(tái)移動(dòng)學(xué)習(xí)資源設(shè)計(jì)與開發(fā)探究[J].現(xiàn)代教育技術(shù),2014,24(2):100-107.

[9] 郭毅棋.基于AppCan平臺(tái)的迎新系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2015(6):35-36;50.

[10] 徐毅,田春燕.基于Android的移動(dòng)英語學(xué)習(xí)平臺(tái)的研究與實(shí)現(xiàn)[J].中國教育信息化,2014(4):87-89.

[11] Cosmina Ivan1,Razvan Popa.Cloud based Cross Platform Mobile Applications Building and integrating cloud services with mobile client applications[J].Advances in Computer Science:an International Journal,2014,3(2):69-77.

[12] 任永學(xué),等.企業(yè)移動(dòng)信息化發(fā)展研究[J].無線通信,2014(10):

43-46.

[13] Shalini Sharma,Satyajit Padhy Vikram Verma.Multi-Functional Social CRM in Cloud with Cross-Platform Mobile Application[J].International Journal of Computer Applications,2014,93(13):8-15.

[14] Richard Rodger.王英群,趙松德,譯.移動(dòng)云計(jì)算應(yīng)用開發(fā)入門經(jīng)典[M].北京:清華大學(xué)出版社,2013:126-127.

猜你喜歡
插件模板
鋁模板在高層建筑施工中的應(yīng)用
鋁模板在高層建筑施工中的應(yīng)用
自編插件完善App Inventor與樂高機(jī)器人通信
電子制作(2019年22期)2020-01-14 03:16:34
鋁模板在高層建筑施工中的應(yīng)用
MapWindowGIS插件機(jī)制及應(yīng)用
城市綜改 可推廣的模板較少
基于Revit MEP的插件制作探討
火力加強(qiáng)再加強(qiáng)IE插件三劍客
武安市| 收藏| 阿城市| 隆安县| 靖远县| 阜新| 大方县| 涞源县| 贡觉县| 新巴尔虎右旗| 开封市| 永平县| 奎屯市| 伊春市| 安远县| 宁波市| 本溪市| 元江| 岫岩| 永德县| 汉源县| 德江县| 沂南县| 六安市| 图木舒克市| 新田县| 泰顺县| 崇州市| 垦利县| 旬邑县| 壶关县| 祥云县| 即墨市| 定日县| 喀喇| 二连浩特市| 修文县| 囊谦县| 南郑县| 马山县| 苍南县|