王榮海 蔡芬



摘 ?要:本文分析了典型企業(yè)移動應用及核心功能,研究了跨平臺移動開發(fā)對企業(yè)實現移動信息化的作用,闡述了APICloud云端一體化架構,以及實現跨平臺移動開發(fā)的優(yōu)勢。文章從需求分析、UI界面布局設計、企業(yè)移動App常用模塊、數據庫及接口設計、實現步驟幾個方面提出了一個利用APICloud開發(fā)與實現企業(yè)移動應用的思路,企業(yè)可根據這一思路規(guī)劃、設計與實現與自身業(yè)務相關的跨平臺移動應用。
關鍵詞:APICloud;企業(yè)移動應用;跨平臺
中圖分類號:TP311.5 ? ? ?文獻標識碼:A
Abstract:This paper analyzes typical enterprise mobile apps and their core functions,studies the effect of cross-platform mobile development on realizing the enterprise's mobile informatization,and expounds the advantages of APICloud cloud-client integration architecture and its cross-platform mobile development.This paper proposes an idea of using APICloud to develop and realize enterprise mobile applications including requirements analysis,UI layout design,common modules of enterprise mobile apps,database and its interface design,and implementation steps.Based on this idea,enterprises can plan,design and implement cross-platform mobile apps related to their own business.
Keywords:APICloud;enterprise mobile apps;cross-platform
1 ? 引言(Introduction)
隨著移動設備的普及,越來越多的企業(yè)認識到員工利用自帶設備(BYOD)處理公司業(yè)務的重要性,企業(yè)對移動信息化的需求持續(xù)增長。如何在保證企業(yè)移動應用系統(tǒng)質量的基礎上盡可能地提高開發(fā)速度是近年來移動應用開發(fā)的研究熱點。文獻[1]認為跨平臺的混合應用開發(fā)框架適合于開發(fā)企業(yè)移動應用,并對常用的混合應用開發(fā)框架進行了評估,給出了混合應用開發(fā)框架的選擇建議。文獻[2]對跨平臺移動開發(fā)方法進行了分類,比較了各種方法的優(yōu)缺點,并給出了進一步的研究建議。文獻[3]提出了一個利用跨平臺移動技術構建企業(yè)客戶關系管理系統(tǒng)的方案。文獻[4]提出了一個利用Hybrid App跨平臺開發(fā)技術構建企業(yè)移動應用系統(tǒng)的方案。國內外的研究表明跨平臺移動開發(fā)越來越受到企業(yè)及開發(fā)者的青睞。
本文將分析典型企業(yè)移動應用及核心功能,研究跨平臺移動開發(fā)對企業(yè)實現移動信息化的作用,分析國內主流的Hybrid跨平臺移動應用開發(fā)平臺APICloud,提出一個利用APICloud開發(fā)與實現企業(yè)移動應用的思路。
2 ? 典型企業(yè)移動應用及核心功能 (Typical enterprise ? ? mobile apps and their core functions)
2.1 ? 典型企業(yè)移動應用
目前典型企業(yè)移動應用有移動辦公、移動電商、移動CRM、移動SCM,以及對各項業(yè)務進行整合的移動ERP等。企業(yè)在實施移動信息化的過程中,可以采取循序漸進、逐步完善的策略,尤其中小企業(yè)信息化基礎相對薄弱,更應該采取這種策略。企業(yè)可以先實施一些完成基礎業(yè)務的移動應用,比如移動辦公、移動電商;接著實施一些完成擴展業(yè)務的移動應用比如移動CRM、移動SCM等;最后再實施企業(yè)整體移動應用如移動ERP等。
2.2 ? 典型企業(yè)移動應用核心功能
典型企業(yè)移動應用移動辦公、移動電商、移動CRM、移動SCM的核心功能如圖1所示。
圖1僅列出核心功能,各個企業(yè)在實施具體的移動應用時應根據企業(yè)的特點進行功能的增加或刪減。
3 ?跨平臺企業(yè)移動應用開發(fā)(Cross-platform ? ? ?enterprise mobile apps development)
目前有越來越多的移動應用采用跨平臺技術開發(fā),比如國內的手機QQ、京東購物、手機百度,國外的Facebook系列App、Instagram等[5]。跨平臺移動開發(fā)技術可以一次編碼(或者經過少量改動后)就可以生成iOS及Android兩個平臺的移動App。企業(yè)在進行移動信息化的進程中,也越來越傾向于選擇跨平臺移動開發(fā)技術。
3.1 ? 跨平臺開發(fā)促進企業(yè)移動信息化
企業(yè)選擇跨平臺移動開發(fā)實現移動信息化和企業(yè)的移動互聯網及數字化需求有著直接的聯系:
(1)開發(fā)速度的需求:原生開發(fā)需要專門針對iOS與Android平臺采用不同的開發(fā)工具和不同的編程語言分別進行開發(fā)。跨平臺移動開發(fā)技術則使用相同的開發(fā)工具和編程語言進行開發(fā),可以大大加快開發(fā)的速度。目前大部分的企業(yè)在有相關移動信息化的業(yè)務需求后,均傾向于快速實現需求,以適應移動互聯網的應用現狀。
(2)業(yè)務快速調整的需求:國內外眾多常用App經常進行版本更新,每一次版本的更新都涉及業(yè)務的調整,采用原生開發(fā)的App往往不能讓iOS與Android平臺的App同時進行更新,而采用跨平臺移動開發(fā)技術開發(fā)的App則可以讓iOS與Android平臺App版本的更新同時進行。企業(yè)業(yè)務的快速調整更需要不同的平臺的App能夠同步更新,否則將影響企業(yè)業(yè)務的開展。
(3)降低開發(fā)成本的需求:企業(yè)在決定對某項業(yè)務進行移動信息化之前,都會進行成本效益分析。企業(yè)均有以較低的成本獲得較大效益的需求,采用跨平臺移動開發(fā)技術由于降低了開發(fā)速度,從而降低了開發(fā)成本。
(4)信息部門融入的需求:越來越多的企業(yè)有專門的信息部門,這些企業(yè)在進行移動信息化的進程中,除了把移動App開發(fā)業(yè)務交給專門的軟件開發(fā)商外,有的還會采取合作開發(fā)或獨立開發(fā)的方式,跨平臺移動開發(fā)技術的學習成本較低,可以讓信息部門盡快地融入其中。
3.2 ? APICloud跨平臺移動開發(fā)
目前國內外的跨平臺移動開發(fā)技術展示出不窮,常見的有國外的PhoneGap、Ionic、React Native,國內的APICloud、AppCan、ExMobi等。如何選擇適合于企業(yè)的跨平臺移動開發(fā)技術是企業(yè)在推進移動信息化進程中的一項重要工作。
APICloud是國內近幾年來快速發(fā)展的Hybrid云端一體化的移動互聯網開發(fā)與生態(tài)平臺,APICloud提供的端API是跨平臺App引擎,它將大量移動應用所需的功能“模塊化”封裝,通過JavaScript,一套代碼可以同時調用iOS和Android兩個平臺的模塊,APICloud端引擎架構如圖2所示[6]。
APICloud端引擎架構由以下部分組成:
(1)App層。App層使用標準的HTML、CSS和JavaScript。APICloud通過JavaScript的API來提供擴展能力。
(2)API層。API層中的Framework是前端框架,Profile提供到其他平臺的接口,Bridge負責API的橋接,Loader用來實現加載模塊。
(3)Engine和Module層。Engine層包括12個主要模塊,Module層中包括各類封裝好的模塊。
(4)OS層。OS層是操作系統(tǒng)的接口。
APICloud的云API服務包括數據服務、推送、云修復和大數據分析等,使得開發(fā)者只需要少量、甚至不需要服務器端編碼,就可以自動生成移動應用所需要的各種云服務接口[6]。利用APICloud云端一體化架構開發(fā)跨平臺移動應用如圖3所示。
相比于其他跨平臺移動開發(fā)平臺,APICloud具有一定的優(yōu)勢:
(1)APICloud的核心開發(fā)工具包APICloud SDK保持較快的更新速度,自從2014年該平臺提供服務以來,幾乎是每周更新一次,該平臺的功能得以不斷完善與加強并緊跟技術發(fā)展趨勢。
(2)APICloud構建了完善的開發(fā)者服務體系。APICloud的官方網站提供了APICloud應用開發(fā)和管理平臺的入口;APICloud通過插件的方式支持多種開發(fā)工具包括Atom、VSCode、Sublime Text、Eclipse、WebStorm,并且提供了自身的開發(fā)工具APICloud Studio,使開發(fā)者可以不改變習慣而使用自己熟悉的開發(fā)工具;APICloud提供了完整的開發(fā)文檔,有一定HTML5、CSS及JavaScript經驗的開發(fā)者可以在短時間內掌握基本的開發(fā)流程;APICloud開發(fā)者社區(qū)活躍度高,開發(fā)者可以在社區(qū)中獲得各種開發(fā)技巧及疑難解答;APICloud提供了增值技術支持服務,開發(fā)者可以在短時間內獲得技術咨詢響應[6]。
(3)APICloud提供了模塊Store和模板Store。APICloud通過模塊進行API的組織和管理,一個模塊可以實現某項特定的功能,APICloud內置提供了各種常用功能的基本模塊,并提供了大量的擴展模塊,同時允許第三方機構開發(fā)者及獨立開發(fā)者提供擴展模塊,開發(fā)者可以在模塊Store中免費或付費下載項目開發(fā)所需的模塊,從而簡化項目的開發(fā),縮短開發(fā)周期。模板是完整的具有標準商業(yè)應用的項目,對模板進行簡單的設置就可以生成完整的項目,也可以在此基礎上進行二次開發(fā),對模板提供的功能進行完善,形成新的項目。
(4)APICloud對Android和iOS安裝包的編譯均在云端進行,避免了其他一些跨平臺移動開發(fā)平臺在客戶端進行編譯出現的編譯環(huán)境構建復雜、升級煩瑣、版本不一致等問題。
4 ?企業(yè)移動應用開發(fā)與實現思路(An idea of developing and implementing enterprise mobile apps)
利用APICloud開發(fā)企業(yè)移動App,可以遵循以下步驟。
4.1 ? 需求分析
企業(yè)移動應用需求分析與其他軟件開發(fā)類似,解決的是“App需要哪些功能”這個問題。需求分析可以采用多種方法,針對大部分企業(yè)對App要求快速上線的需求,可采用簡易的需求規(guī)格說明技術[7],這種技術的典型過程如圖4所示。
4.2 ? UI界面布局設計
確定了App的需求后,可以通過草圖或原型設計工具設計App的原型,根據原型,接著可在APICloud中進行UI界面布局設計。一個企業(yè)移動App通常由許多不同的窗口組成,可以把窗口看成是App展示界面的最小單位,通過窗口的跳轉和切換展示整個App的功能。APICloud提供了實現UI界面布局的五大組件,如圖5所示[6]。
(1)Widget。Widget是App運行管理的最小單位,每一個使用APICloud開發(fā)的App至少包含一個Widget,Widget內部可以包含Layout、Window或UIModule。在APICloud中,使用api.openwidget()打開一個Widget,使用api.closeWidget()關閉Widget。
(2)Layout。Layout可通過組織一組Window或Frame來實現App某一特定的布局效果。在APICloud中,通過FrameGroup實現Layout,使用api.openFrameGroup()打開一個FrameGroup,使用api.closeFrameGroup()關閉FrameGroup。
(3)Window。Window是App獨立的原生窗口,Window內部可包含Layout、Frame和UIModule。在APICloud中,使用api.openWin()打開一個Window,使用api.closeWin()關閉Window。
(4)Frame。Frame是獨立的Web容器,通常作為子視圖嵌入到Window或Layout中,Frame內部可包含UIModule。在APICloud中,使用api.openFrame打開一個Frame,使用api.closeFrame()關閉Frame。
(5)UIModule。UIModule可以實現特定的UI界面效果,通常在Window或Frame中嵌入UIModule。在APICloud中,使用api.require()加載特定的UIModule,再通過open()方法打開UIModule,close()方法關閉UIModule。
針對每一個App界面,可以根據五大組件進行設計,對于不需要頻繁更新的部分可以使用Window,經常需要更新,與用戶交互的操作可以使用Frame。每一個App界面規(guī)劃出相應Window或Frame要調用的html文件、接口文件,以及需要用到的UIModule,形成UI界面布局設計的文檔,作為后續(xù)開發(fā)的基礎。
4.3 ? 企業(yè)移動應用常用模塊
利用APICloud開發(fā)企業(yè)移動應用,可以充分利用APICloud自身提供的模塊及第三方模塊,這些模塊可分為界面組件、業(yè)務功能、開放服務及自定義模塊等幾類。
(1)界面組件類模塊。該類模塊主要用來實現企業(yè)移動App的靜態(tài)界面,常用的有輸入框、按鈕、對話框、列表、搜索框、輪播、選擇器、日歷、城市選擇等。
(2)業(yè)務功能類模塊。該類模塊主要用來實現企業(yè)移動App的業(yè)務功能,常用的有數據庫操作、文件操作、二維碼掃描、權限管理、身份認證、下載管理、文本閱讀、語音識別、定位、瀏覽器、拍照、錄像、加密等。
(3)開放服務類模塊。該類模塊主要用來集成第三方服務到企業(yè)移動App中,又分為若干類,常用的有統(tǒng)計分析類、支付類、分享類、即時通信類、短信驗證類、音頻操作類、視頻操作類、物聯網類、人工智能類等。
(4)自定義模塊。針對某些企業(yè)移動應用中較常見的功能,但又沒有現成的模塊可以使用,可以利用APICloud提供的模塊擴展機制編寫自定義模塊,自定義模塊與普通模塊類似,可以重復使用。
通過對正在開發(fā)的企業(yè)移動應用進行模塊使用分析,結合前續(xù)的UI界面布局設計文檔,形成較完整的企業(yè)移動應用設計文檔。
4.4 ? 數據庫及接口設計
大部分的企業(yè)移動應用涉及對數據庫的操作,根據需求規(guī)格說明及設計文檔對數據庫進行設計并且設計訪問這些數據的接口。數據庫可存放在各種云服務器或普通服務器上,也可以使用APICloud提供的數據云服務實現對數據的各項操作。
4.5 ? 實現步驟
根據企業(yè)移動應用各項設計文檔實現App的各項功能,在APICloud平臺實現各項功能的步驟如圖6所示。
如果App僅在企業(yè)內部使用,Android版本的App可以直接通過apk文件分發(fā)給員工,iOS版本的App則需要使用蘋果公司的企業(yè)開發(fā)者賬號服務分發(fā)App給員工。如果App還提供給企業(yè)員工以外的人員如用戶、供應商等使用,Android版本的App可以在各大Android應用市場發(fā)布,iOS版本的App則需要提交蘋果公司審核后才能在App Store上架。
5 ? 結論(Conclusion)
在目前移動設備日益普及的背景下,各級各類企業(yè)紛紛制定本企業(yè)的移動信息化戰(zhàn)略,企業(yè)移動應用的開發(fā)在實現移動信息化戰(zhàn)略上起著關鍵作用。云端一體化Hybrid移動開發(fā)平臺APICloud可以快速開發(fā)出性能優(yōu)越的跨平臺企業(yè)移動應用。本文對APICloud在企業(yè)移動信息化中的應用進行了系統(tǒng)的研究,提出了基于APICloud的企業(yè)移動應用的開發(fā)與實現思路,企業(yè)可根據這一思路規(guī)劃、設計與實現與自身業(yè)務相關的跨平臺移動應用。
參考文獻(References)
[1] Vitols Gatis,Smits Ingus,Bogdanov Oleg.Cross-platform solution for development of mobile applications[C].Proceedings of the 15th International Conference on Enterprise Information Systems (ICEIS 2013),2013:273-277.
[2] Latif Mounaim,Lakhrissi Younes,Nfaoui El Habib,et al.Review of mobile cross platform and research orientations[C].2017 International Conference on Wireless Technologies,Embedded and Intelligent Systems (WITS 2017) 2017:1-4.
[3] 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.
[4] 王榮海.基于Hybrid App技術的企業(yè)移動應用系統(tǒng)構建研究[J].軟件工程,2016,19(7):46-49.
[5] 闕喜濤.React Native跨平臺移動應用開發(fā)[M].北京:電子工業(yè)出版社,2017:1.
[6] 鄒達,李德興.30天App開發(fā)從0到1:APICloud移動開發(fā)實戰(zhàn)[M].北京:人民郵電出版社,2018:10-87.
[7] 張海藩,牟永敏.軟件工程導論(第6版)[M].北京:清華大學出版社,2018:59-61.
作者簡介:
王榮海(1972-),男,碩士,副教授.研究領域:移動互聯網,企業(yè)信息化,教育信息化,虛擬現實.
蔡 ?芬(1978-),女,碩士,講師.研究領域:企業(yè)信息化,移動互聯網.