鄭純軍++賈寧
摘 要: 介紹移動互聯(lián)網(wǎng)應(yīng)用開發(fā)現(xiàn)狀,著重分析移動應(yīng)用開發(fā)過程中原生應(yīng)用、Web應(yīng)用、混合應(yīng)用的開發(fā)流程、開發(fā)工具和開發(fā)框架,針對移動應(yīng)用項目可復(fù)用的資源進(jìn)行了分類研究。設(shè)計面向移動應(yīng)用開發(fā)的可復(fù)用資源管理平臺,實(shí)現(xiàn)了UI資源復(fù)用、組件資源復(fù)用、功能模塊復(fù)用和審核標(biāo)準(zhǔn)制定,并對其他可復(fù)用資源進(jìn)行整合,通過實(shí)際操作驗(yàn)證了部分功能的實(shí)現(xiàn)效果。該平臺加快了移動應(yīng)用人才培養(yǎng)的速度,全面提高了移動應(yīng)用項目開發(fā)的效率。
關(guān)鍵詞: 復(fù)用技術(shù); 資源管理; 移動應(yīng)用; Web應(yīng)用
中圖分類號: TN911?34; TP368.1 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2015)16?0045?03
Research and implementation of reusable resource management platform for
mobile application development
ZHENG Chunjun, JIA Ning
(Dalian Neusoft University of Information, Dalian 116023, China)
Abstract: The present status of mobile Internet application and development is introduced. The development process, development tools and development framework of the primary application, Web application and mixed application in mobile application development process are emphatically analyzed. The classified research for reusable resources in mobile application projects is carried out. A reusable resource management platform for mobile application development is designed. UI reuse, component resource reuse, function module reuse and audit standard establishment were achieved. The other reusable resources were integrated. The effect of partial functions was verified by actual operation. The platform accelerated cultivation of the mobile application talents. The development efficiency of mobile application projects was improved.
Keywords: reusable techniques; resource management; mobile application; Web applicotion
0 引 言
隨著移動互聯(lián)網(wǎng)產(chǎn)業(yè)的快速發(fā)展,據(jù)權(quán)威數(shù)據(jù)統(tǒng)計,2014年中國智能手機(jī)用戶首次超過5億[1],2016年全球智能手機(jī)用戶將超過20億[2],伴隨著移動應(yīng)用軟件將會得到極速的發(fā)展。
目前主流的移動操作系統(tǒng)有谷歌Android、蘋果iOS、微軟Windows Phone等,由于不同平臺之間的差異非常大,所用的編程語言各不相同,如果一款應(yīng)用要運(yùn)行在另外一種平臺上,則需要針對這種平臺重新開發(fā),這為開發(fā)帶來了很多重復(fù)的工作,增加了開發(fā)的成本。如何縮短移動應(yīng)用項目的開發(fā)周期,快速構(gòu)建移動應(yīng)用成為各大移動應(yīng)用開發(fā)人員及學(xué)者關(guān)注的熱點(diǎn)。目前移動產(chǎn)品的開發(fā)模式主要有以下3種:
(1) Native App[3]
原生應(yīng)用又稱為本地應(yīng)用,主要利用移動操作系統(tǒng)支持的主流編程語言(如蘋果iOS主要采用Objective?C/Swift語言,谷歌Android主要采用Java語言,微軟Windows Phone主要采用C#語言)進(jìn)行開發(fā),可直接調(diào)用操作系統(tǒng)提供的API進(jìn)行項目開發(fā),具有開發(fā)能力強(qiáng)、交互性好、效率高等優(yōu)點(diǎn),缺點(diǎn)是產(chǎn)品無法移植、跨平臺運(yùn)行,且存在開發(fā)周期長、門檻高等問題。
(2) Web App[4]
Web應(yīng)用采用標(biāo)準(zhǔn)的HTML,JavaScript,CSS等Web技術(shù),產(chǎn)品運(yùn)行于瀏覽器之上,具有開發(fā)周期短、跨平臺運(yùn)行等優(yōu)點(diǎn)。缺點(diǎn)為無法調(diào)用移動操作系統(tǒng)的大部分API實(shí)現(xiàn)高級功能,運(yùn)行效率低。
(3) Hybrid App[5]
混合應(yīng)用開發(fā)彌補(bǔ)了原生應(yīng)用與Web應(yīng)用的不足,開發(fā)者可以使用跨平臺的Web技術(shù)開發(fā)產(chǎn)品的大部分代碼,又可以在需要時直接訪問Native API實(shí)現(xiàn)高級功能。近兩年許多公司與學(xué)者研發(fā)出多種優(yōu)秀的跨平臺移動開發(fā)框架,如IONIC,Mobile Angular UI,Intel XDK,Appcelerator Titanium,PhoneGap等,2014年10月底W3C(萬維網(wǎng)聯(lián)盟)定稿HTML5[6],將進(jìn)一步推動跨平臺移動應(yīng)用開發(fā)熱潮。
結(jié)合移動應(yīng)用產(chǎn)品的特點(diǎn),無論是各移動平臺的原生應(yīng)用還是混合應(yīng)用開發(fā),同種類型的移動應(yīng)用項目具有相似的開發(fā)流程、框架、文檔、工具及模塊。因此,為了進(jìn)一步降低移動應(yīng)用開發(fā)難度、縮短移動應(yīng)用開發(fā)周期,本文針對這一需求構(gòu)建了面向移動應(yīng)用開發(fā)的可復(fù)用資源管理平臺。endprint
1 可復(fù)用資源分類
為了采用可復(fù)用資源快速構(gòu)建移動應(yīng)用項目,本文對可復(fù)用的資源進(jìn)行抽取、分類與規(guī)范研究。
1.1 項目開發(fā)流程
移動應(yīng)用項目開發(fā)與面向桌面軟件開發(fā)過程管理上有很大的區(qū)別。而敏捷開發(fā)(Agile Development)具有面臨迅速變化的需求快速開發(fā)軟件的能力,非常適合移動應(yīng)用項目。因此,將可復(fù)用資源與敏捷開發(fā)方法相結(jié)合,開發(fā)移動應(yīng)用項目將是全新的一套開發(fā)過程。此種開發(fā)方法依托于敏捷開發(fā)和可復(fù)用技術(shù),利用敏捷開發(fā)可以縮減軟件的開發(fā)周期,提高響應(yīng)速度;采用可復(fù)用技術(shù),可最大限度的利用平臺上的現(xiàn)有構(gòu)件,減少大量重復(fù)代碼的編寫,從而實(shí)現(xiàn)快速、高效的軟件開發(fā)。
1.2 項目開發(fā)文檔
可復(fù)用平臺相關(guān)文檔主要包括需求說明、設(shè)計模式、測試用例、使用說明、二次開發(fā)說明、復(fù)用接口說明等,依據(jù)復(fù)用資源的不同,文檔將有少許的調(diào)整。其中,二次開發(fā)和復(fù)用接口說明文檔的描述對象為重點(diǎn)復(fù)用的資源,包括組件、模塊、架構(gòu)、關(guān)鍵技術(shù)等。上傳到資源復(fù)用平臺的各類文檔,都需根據(jù)規(guī)定的文檔規(guī)范進(jìn)行編寫。
1.3 項目開發(fā)工具
移動應(yīng)用項目不同平臺、不同框架下所用的開發(fā)工具是不同的,開發(fā)者在開發(fā)項目時為了構(gòu)建開發(fā)框架,需要下載相應(yīng)工具搭建環(huán)境,為了加快開發(fā)速度,在資源復(fù)用平臺上將項目開發(fā)工具作為復(fù)用資源上傳到平臺,統(tǒng)一管理。
1.4 項目開發(fā)框架
移動應(yīng)用項目開發(fā)尤其是混合應(yīng)用開發(fā),跨平臺開發(fā)框架很多,不同開發(fā)框架具有自己開發(fā)工具和特點(diǎn),開發(fā)者很難在短期內(nèi)熟悉每個開發(fā)框架,將開發(fā)框架作為復(fù)用資源上傳到平臺,加快開發(fā)進(jìn)度。
1.5 UI界面元素
不同尺寸的移動終端,不同類型的平臺,界面交互的元素有所不同,圖標(biāo)的大小也各不相同,復(fù)用平臺規(guī)范上傳的UI元素,開發(fā)者從復(fù)用平臺直接檢出UI元素進(jìn)行開發(fā)。
1.6 組件資源復(fù)用
移動應(yīng)用項目均由常用的組件(如:Button,Edit,Lable等)來構(gòu)成,將組件攜帶相應(yīng)信息與相關(guān)開發(fā)文檔和接口使用文檔,形成復(fù)用平臺的構(gòu)件,作為復(fù)用平臺主要的構(gòu)件庫,能很大程度上加快項目的開發(fā)。
1.7 功能模塊復(fù)用
在移動應(yīng)用項目的開發(fā)中經(jīng)常會涉及到數(shù)據(jù)存儲、多媒體開發(fā)、網(wǎng)絡(luò)與通信等相關(guān)技術(shù),不同平臺有自己的使用方式,將這些功能作為獨(dú)立的功能模塊上傳到平臺,供開發(fā)者參考,能更大程度上得到復(fù)用。
2 資源管理平臺部分功能實(shí)現(xiàn)
2.1 功能結(jié)構(gòu)
可復(fù)用資源管理平臺不只是存儲移動項目開發(fā)中用到的復(fù)用資源,在一定程度上改變了移動項目開發(fā)流程,加快了項目開發(fā)的進(jìn)度,本文所設(shè)計的可復(fù)用資源管理平臺功能結(jié)構(gòu)如圖1所示。
圖1 資源復(fù)用平臺功能
2.2 UI資源復(fù)用
開發(fā)者根據(jù)資源的名稱、顏色、所屬類型、所屬平臺等屬性檢索資源并下載,檢索效果圖如圖2所示。
圖2 UI資源復(fù)用檢索效果圖
2.3 組件資源復(fù)用
組件資源是復(fù)用平臺最主要的復(fù)用資源,不同平臺的組件資源描述形式有所不同,開發(fā)者根據(jù)實(shí)際需求,檢索組件資源并下載,下面主要以2個平臺做以介紹:
(1) Android平臺組件
開發(fā)者根據(jù)組件資源的名稱、所屬類型、所屬平臺等屬性進(jìn)行檢索,檢索結(jié)果包括:使用說明文檔、核心文件、組件效果、完整案例源碼構(gòu)成。界面效果見圖3。
圖3 Android組件資源檢索效果圖
(2) Web移動開發(fā)組件
近兩年不斷涌現(xiàn)出多種優(yōu)秀的跨平臺移動應(yīng)用開發(fā)框架,本文設(shè)計的可復(fù)用資源管理平臺,目前主要建設(shè)基于IONIC,Appcelerator Titanium,Mui開發(fā)的Web移動開發(fā)組件。檢索的基于Mui技術(shù)在Hbuilder平臺下開發(fā)的移動組件效果圖如圖4所示,主要包括組件案例代碼包下載、組件使用說明文檔、源代碼瀏覽、組件效果圖,開發(fā)者根據(jù)組件效果,直接拷貝核心代碼到自己的工程中,或者下載組件源碼進(jìn)行組件更改,再應(yīng)用到自己的工程項目中。
3 結(jié) 語
本文設(shè)計的面向移動應(yīng)用開發(fā)可復(fù)用資源管理平臺,可應(yīng)用于學(xué)校、企業(yè),可加快移動應(yīng)用人才的培養(yǎng)與移動應(yīng)用項目的開發(fā)。隨著復(fù)用資源數(shù)目的增多,將可復(fù)用資源與敏捷開發(fā)方法相結(jié)合,將加快移動應(yīng)用項目的開發(fā)進(jìn)度,目前,平臺中構(gòu)件的數(shù)量和描述的完備性有待提高,這些問題將在后期的研究中進(jìn)一步完善。
圖4 Mui框架組件資源檢索效果圖
參考文獻(xiàn)
[1] 佚名.2014年中國智能手機(jī)用戶首超5億人:始終保持全球第一[EB/OL]. [2014?12?25].http://www.askci.com/chanye/2014/12/25/1348294dja.shtml.
[2] 佚名.2016年智能手機(jī)用戶超20億增長多數(shù)來自中國[EB/OL]. [2014?12?14]. http://science.cankaoxiaoxi.com/2014/1214/597069_2.shtml.
[3] 施瑩.快速構(gòu)建跨平臺移動應(yīng)用開發(fā)方案[J].價值工程,2013(29):197?199.
[4] 潘曉夢,鄧建華,蘇厚勤.一種跨平臺移動應(yīng)用方案的研究與實(shí)踐[J].計算機(jī)應(yīng)用與軟件,2013,30(1):180?182.
[5] 孟凡寧,叢中昌,黃志興,等.移動互聯(lián)網(wǎng)應(yīng)用跨平臺開發(fā)研究[J].移動通信,2013(13):60?63.
[6] 王安.HTML5終于定稿,八年后我們再一次談?wù)勗趺锤淖兪澜鏪EB/OL]. [2014?11?03].http://www.36kr.com/p/216655.html.
[7] 熊健.基于Android平臺的企業(yè)移動應(yīng)用開發(fā)框架的分析與設(shè)計[J].軟件,2012(11):44?46.
[8] 潘曉夢,鄧建華,蘇厚勤.一種跨平臺移動應(yīng)用方案的研究與實(shí)踐[J].計算機(jī)應(yīng)用與軟件,2013(1):180?182.