APP下载

APICloud在企业移动信息化中的应用研究

2019-07-18王荣海蔡芬

软件工程 2019年6期
关键词:跨平台

王荣海 蔡芬

摘  要:本文分析了典型企业移动应用及核心功能,研究了跨平台移动开发对企业实现移动信息化的作用,阐述了APICloud云端一体化架构,以及实现跨平台移动开发的优势。文章从需求分析、UI界面布局设计、企业移动App常用模块、数据库及接口设计、实现步骤几个方面提出了一个利用APICloud开发与實现企业移动应用的思路,企业可根据这一思路规划、设计与实现与自身业务相关的跨平台移动应用。

关键词:APICloud;企业移动应用;跨平台

中图分类号: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)

随着移动设备的普及,越来越多的企业认识到员工利用自带设备(BYOD)处理公司业务的重要性,企业对移动信息化的需求持续增长。如何在保证企业移动应用系统质量的基础上尽可能地提高开发速度是近年来移动应用开发的研究热点。文献[1]认为跨平台的混合应用开发框架适合于开发企业移动应用,并对常用的混合应用开发框架进行了评估,给出了混合应用开发框架的选择建议。文献[2]对跨平台移动开发方法进行了分类,比较了各种方法的优缺点,并给出了进一步的研究建议。文献[3]提出了一个利用跨平台移动技术构建企业客户关系管理系统的方案。文献[4]提出了一个利用Hybrid App跨平台开发技术构建企业移动应用系统的方案。国内外的研究表明跨平台移动开发越来越受到企业及开发者的青睐。

本文将分析典型企业移动应用及核心功能,研究跨平台移动开发对企业实现移动信息化的作用,分析国内主流的Hybrid跨平台移动应用开发平台APICloud,提出一个利用APICloud开发与实现企业移动应用的思路。

2   典型企业移动应用及核心功能 (Typical enterprise     mobile apps and their core functions)

2.1   典型企业移动应用

目前典型企业移动应用有移动办公、移动电商、移动CRM、移动SCM,以及对各项业务进行整合的移动ERP等。企业在实施移动信息化的过程中,可以采取循序渐进、逐步完善的策略,尤其中小企业信息化基础相对薄弱,更应该采取这种策略。企业可以先实施一些完成基础业务的移动应用,比如移动办公、移动电商;接着实施一些完成扩展业务的移动应用比如移动CRM、移动SCM等;最后再实施企业整体移动应用如移动ERP等。

2.2   典型企业移动应用核心功能

典型企业移动应用移动办公、移动电商、移动CRM、移动SCM的核心功能如图1所示。

图1仅列出核心功能,各个企业在实施具体的移动应用时应根据企业的特点进行功能的增加或删减。

3  跨平台企业移动应用开发(Cross-platform      enterprise mobile apps development)

目前有越来越多的移动应用采用跨平台技术开发,比如国内的手机QQ、京东购物、手机百度,国外的Facebook系列App、Instagram等[5]。跨平台移动开发技术可以一次编码(或者经过少量改动后)就可以生成iOS及Android两个平台的移动App。企业在进行移动信息化的进程中,也越来越倾向于选择跨平台移动开发技术。

3.1   跨平台开发促进企业移动信息化

企业选择跨平台移动开发实现移动信息化和企业的移动互联网及数字化需求有着直接的联系:

(1)开发速度的需求:原生开发需要专门针对iOS与Android平台采用不同的开发工具和不同的编程语言分别进行开发。跨平台移动开发技术则使用相同的开发工具和编程语言进行开发,可以大大加快开发的速度。目前大部分的企业在有相关移动信息化的业务需求后,均倾向于快速实现需求,以适应移动互联网的应用现状。

(2)业务快速调整的需求:国内外众多常用App经常进行版本更新,每一次版本的更新都涉及业务的调整,采用原生开发的App往往不能让iOS与Android平台的App同时进行更新,而采用跨平台移动开发技术开发的App则可以让iOS与Android平台App版本的更新同时进行。企业业务的快速调整更需要不同的平台的App能够同步更新,否则将影响企业业务的开展。

(3)降低开发成本的需求:企业在决定对某项业务进行移动信息化之前,都会进行成本效益分析。企业均有以较低的成本获得较大效益的需求,采用跨平台移动开发技术由于降低了开发速度,从而降低了开发成本。

(4)信息部门融入的需求:越来越多的企业有专门的信息部门,这些企业在进行移动信息化的进程中,除了把移动App开发业务交给专门的软件开发商外,有的还会采取合作开发或独立开发的方式,跨平台移动开发技术的学习成本较低,可以让信息部门尽快地融入其中。

3.2   APICloud跨平台移动开发

目前国内外的跨平台移动开发技术展示出不穷,常见的有国外的PhoneGap、Ionic、React Native,国内的APICloud、AppCan、ExMobi等。如何选择适合于企业的跨平台移动开发技术是企业在推进移动信息化进程中的一项重要工作。

APICloud是国内近几年来快速发展的Hybrid云端一体化的移动互联网开发与生态平台,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层是操作系统的接口。

APICloud的云API服务包括数据服务、推送、云修复和大数据分析等,使得开发者只需要少量、甚至不需要服务器端编码,就可以自动生成移动应用所需要的各種云服务接口[6]。利用APICloud云端一体化架构开发跨平台移动应用如图3所示。

相比于其他跨平台移动开发平台,APICloud具有一定的优势:

(1)APICloud的核心开发工具包APICloud SDK保持较快的更新速度,自从2014年该平台提供服务以来,几乎是每周更新一次,该平台的功能得以不断完善与加强并紧跟技术发展趋势。

(2)APICloud构建了完善的开发者服务体系。APICloud的官方网站提供了APICloud应用开发和管理平台的入口;APICloud通过插件的方式支持多种开发工具包括Atom、VSCode、Sublime Text、Eclipse、WebStorm,并且提供了自身的开发工具APICloud Studio,使开发者可以不改变习惯而使用自己熟悉的开发工具;APICloud提供了完整的开发文档,有一定HTML5、CSS及JavaScript经验的开发者可以在短时间内掌握基本的开发流程;APICloud开发者社区活跃度高,开发者可以在社区中获得各种开发技巧及疑难解答;APICloud提供了增值技术支持服务,开发者可以在短时间内获得技术咨询响应[6]。

(3)APICloud提供了模块Store和模板Store。APICloud通过模块进行API的组织和管理,一个模块可以实现某项特定的功能,APICloud内置提供了各种常用功能的基本模块,并提供了大量的扩展模块,同时允许第三方机构开发者及独立开发者提供扩展模块,开发者可以在模块Store中免费或付费下载项目开发所需的模块,从而简化项目的开发,缩短开发周期。模板是完整的具有标准商业应用的项目,对模板进行简单的设置就可以生成完整的项目,也可以在此基础上进行二次开发,对模板提供的功能进行完善,形成新的项目。

(4)APICloud对Android和iOS安装包的编译均在云端进行,避免了其他一些跨平台移动开发平台在客户端进行编译出现的编译环境构建复杂、升级烦琐、版本不一致等问题。

4  企业移动应用开发与实现思路(An idea of developing and implementing enterprise mobile apps)

利用APICloud开发企业移动App,可以遵循以下步骤。

4.1   需求分析

企业移动应用需求分析与其他软件开发类似,解决的是“App需要哪些功能”这个问题。需求分析可以采用多种方法,针对大部分企业对App要求快速上线的需求,可采用简易的需求规格说明技术[7],这种技术的典型过程如图4所示。

4.2   UI界面布局设计

确定了App的需求后,可以通过草图或原型设计工具设计App的原型,根据原型,接着可在APICloud中进行UI界面布局设计。一个企业移动App通常由许多不同的窗口组成,可以把窗口看成是App展示界面的最小单位,通过窗口的跳转和切换展示整个App的功能。APICloud提供了实现UI界面布局的五大组件,如图5所示[6]。

(1)Widget。Widget是App运行管理的最小单位,每一个使用APICloud开发的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界面规划出相应Window或Frame要调用的html文件、接口文件,以及需要用到的UIModule,形成UI界面布局设计的文档,作为后续开发的基础。

4.3   企业移动应用常用模块

利用APICloud開发企业移动应用,可以充分利用APICloud自身提供的模块及第三方模块,这些模块可分为界面组件、业务功能、开放服务及自定义模块等几类。

(1)界面组件类模块。该类模块主要用来实现企业移动App的静态界面,常用的有输入框、按钮、对话框、列表、搜索框、轮播、选择器、日历、城市选择等。

(2)业务功能类模块。该类模块主要用来实现企业移动App的业务功能,常用的有数据库操作、文件操作、二维码扫描、权限管理、身份认证、下载管理、文本阅读、语音识别、定位、浏览器、拍照、录像、加密等。

(3)开放服务类模块。该类模块主要用来集成第三方服务到企业移动App中,又分为若干类,常用的有统计分析类、支付类、分享类、即时通信类、短信验证类、音频操作类、视频操作类、物联网类、人工智能类等。

(4)自定义模块。针对某些企业移动应用中较常见的功能,但又没有现成的模块可以使用,可以利用APICloud提供的模块扩展机制编写自定义模块,自定义模块与普通模块类似,可以重复使用。

通过对正在开发的企业移动应用进行模块使用分析,结合前续的UI界面布局设计文档,形成较完整的企业移动应用设计文档。

4.4   数据库及接口设计

大部分的企业移动应用涉及对数据库的操作,根据需求规格说明及设计文档对数据库进行设计并且设计访问这些数据的接口。数据库可存放在各种云服务器或普通服务器上,也可以使用APICloud提供的数据云服务实现对数据的各项操作。

4.5   实现步骤

根据企业移动应用各项设计文档实现App的各项功能,在APICloud平台实现各项功能的步骤如图6所示。

如果App仅在企业内部使用,Android版本的App可以直接通过apk文件分发给员工,iOS版本的App则需要使用苹果公司的企业开发者账号服务分发App给员工。如果App还提供给企业员工以外的人员如用户、供应商等使用,Android版本的App可以在各大Android应用市场发布,iOS版本的App则需要提交苹果公司审核后才能在App Store上架。

5   结论(Conclusion)

在目前移动设备日益普及的背景下,各级各类企业纷纷制定本企业的移动信息化战略,企业移动应用的开发在实现移动信息化战略上起着关键作用。云端一体化Hybrid移动开发平台APICloud可以快速开发出性能优越的跨平台企业移动应用。本文对APICloud在企业移动信息化中的应用进行了系统的研究,提出了基于APICloud的企业移动应用的开发与实现思路,企业可根据这一思路规划、设计与实现与自身业务相关的跨平台移动应用。

参考文献(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技术的企业移动应用系统构建研究[J].软件工程,2016,19(7):46-49.

[5] 阙喜涛.React Native跨平台移动应用开发[M].北京:电子工业出版社,2017:1.

[6] 邹达,李德兴.30天App开发从0到1:APICloud移动开发实战[M].北京:人民邮电出版社,2018:10-87.

[7] 张海藩,牟永敏.软件工程导论(第6版)[M].北京:清华大学出版社,2018:59-61.

作者简介:

王荣海(1972-),男,硕士,副教授.研究领域:移动互联网,企业信息化,教育信息化,虚拟现实.

蔡  芬(1978-),女,硕士,讲师.研究领域:企业信息化,移动互联网.

猜你喜欢

跨平台
跨层级网络、跨架构、跨平台的数据共享交换关键技术研究与系统建设
一款游戏怎么挣到全平台的钱?
潜力双跨平台:进阶:谁将跨入下一个“十大”?
跨平台APEX接口组件的设计与实现
基于C++语言的跨平台软件开发的设计
基于C++语言的跨平台软件开发
移动互联网应用跨平台开发
一种虚拟现实应用程序跨平台方法的研究
基于QT的跨平台输电铁塔监控终端软件设计与实现
基于OPC跨平台通信的电机监测与诊断系统