摘要:随着移动互联网的迅猛发展,企业移动信息化已成为大多数企业的共识。研究快速构建企业移动应用系统具有重要的实际意义。本文在剖析目前对混合模式移动应用HybridApp技术研究及应用的基础上,给出HybridApp应用开发模型。针对目前企业移动信息化的需求,提出了一个利用HybridApp技术构建企业移动应用系统的方案。该方案包括系统总体架构,HybridApp开发平台选型,模板与插件应用,现有业务系统集成及云端部署等内容。 关键词:HybridApp;企业移动应用;模板;插件;移动代理服务 1引言(Introduction) 根据中国互联网络信息中心2016年1月发布的统计报告,截至2015年12月,我国手机网民规模达6.20亿。随着手机网民不断增加,各种移动应用层出不穷,大众移动应用的普及基本完成。企业移动应用需求开始爆发,企业移动信息化成为大部分企业的必然选择,大型企业已在纷纷规划各自的移动战略,很多企业也开始考虑允许BYOD(员工自带设备)使用企业的内部应用。随着移动互联网的快速发展,企业目前的现有信息系统及新开发的信息系统必然要与移动应用结合,由此引发了企业移动应用开发的热潮,近十几年来国外对企业移动信息化的研究也在不断持续深入[1-3]。根据IDC的一份报告,2014年中国企业级移动应用解决方案市场规模达到16.3亿美元,到2017年这个数字将达到48亿美元,2014至2017年复合增长率将达到43.5%[4]。 移动应用开发主要有移动Web应用程序、NativeApp原生本机应用程序,以及近年来兴起的HybridApp混合模式移动应用。HybridApp综合了前两者的优点,它使用HTML5来创建用户界面,但将HTML包装到本机的容器中。它既具有移动Web应用程序易于开发的特点,又能够像NativeApp具有访问设备的能力,同时具有很好的跨平台特性,使得一次开发能够在多种移动操作系统中部署。 2HybridApp技术研究及应用现状(Present situationoftechnologyresearchandapplication ofHybridApp) HybridApp技术是近年来才出现的跨平台移动开发技术,目前已经出现了多个基于HybridApp技术的开发平台,国内外学者也对相关的技术及应用进行了研究。 2.1主流HybridApp开发平台 目前主流的HybridApp开发平台包括: (1)PhoneGap:国外的开源移动开发平台,目前为Adobe公司拥有。它基于HTML、CSS和JavaScript,可以使用一些开源的框架如jQueryMobile、DojoMobile、SenchaTouch等来提高用户体验,同时提供了比较丰富的原生插件调用。 (2)AppCan:国内移动开发中使用最广的移动平台,AppCan不仅封装了类似于PhoneGap的本地调用功能,而且封装了uexWindow多窗口机制,实现了移动端的iframe效果,目前AppCan已拥有80万人次的注册开发者,创建的应用的用户已经达到几千万,并且提供了定位于企业用户的企业版套装版本。 (3)Titanium:将JavaScript和本地库链接在一起,编译成字节码,针对iOS和Android两个平台分别构建一个软件包。 (4)Ionic:提供了HybridApp的基础CSS、UI控件、工程架构和最佳实践,主要关注移动应用的UI展示和UI交互。 (5)ExMobi:国内移动开发平台,实现与Appcan类似功能。ExMobi从开发、集成、打包、发布、管理上提供了一套完整的移动化应用解决方案。 2.2国内外研究现状 近年来国内外学者对HybridApp相关技术及应用的研究也逐步展开。研究的方向主要集中在对相关开发平台的剖析及应用,文献[5]—[8]对PhoneGap及其应用进行了相关研究,文献[9]和文献[10]对AppCan及其应用进行了研究,文献[11]对Titanium及其应用进行了研究,通过对这些研究进行剖析,结合笔者对这些平台的应用与研究,可总结出HybridApp的应用开发模型如图1所示。 各种HybridApp开发平台在性能、开发效率、支持的原生应用等方面略有差别,就目前来看,在国外PhoneGap应用最为广泛,而国内则是AppCan。而在应用研究方面,几个文献中给出的应用案例都相对较为简单,没有涉及大型的应用系统。 3企业移动应用系统构建方案(Construction solutionofenterprisemobileapplicationsystem) 通过搜索与分析国内招聘网站,单独招聘Android或iOS开发工程师的职位大大超过了HybridApp开发工程师的职位。这从一个侧面反映了目前国内大部分的移动开发仍然不能支持跨平台。对于企业移动应用,这造成了一套应用需要多个技术团队支持,延长了项目的交付周期,同时造成项目成本的增加。 3.1HybridApp技术与企业移动信息化需求 企业移动信息化的终极目标是实现员工在任何时间(Anytime)、任何地点(Anywhere)处理与业务相关的任何事情(Anything)的3A模式,使企业全员都处于3A状态下,可大大提升企业运作效率、决策质量及企业整体快速应变能力,更好地了解和满足客户需求[12]。企业对移动应用的需求将越来越大,对移动应用的管理也将越来越复杂,传统的开发方式将不利于企业移动应用战略的实施。 HybridApp技术能够屏蔽移动设备的技术差异,使开发人员专注于具体业务实现,不用考虑过多底层技术细节。同时便于建立统一的技术架构和设计、开发、测试及运行维护规范,有助于提升项目开发效率和交付质量。并且有利于企业移动应用门户的建立,可以有效掌控每类应用的使得情况,实现集中管控的目的。通过HybridApp技术构建企业移动应用门户,将成为今后一段时间内企业实施移动信息化战略的一个发展方向。 3.2系统架构 目前对利用HybridApp技术构建企业移动应用系统的研究相对较少。文献[13]对利用跨平台移动技术构建企业CRM系统提出了一个指导性的方案,但侧重于对功能的分析,对系统架构的描述相对比较简略。国内的文献基本上都是针对HybridApp技术在小型系统上的应用进行研究,极少结合云平台。本文尝试性地给出一个结合HybridApp技术和云平台的构建企业移动应用系统的解决方案,其系统总体架构如图2所示。 (1)利用HybridApp技术开发的移动程序通过Hybrid引擎的打包服务可以生成Android、iOS等不同平台移动App,也可以生成供微信公众号访问的代码,还可以生成供移动设备Web端访问的代码。 (2)服务器使用云服务器,Web服务器与数据库服务器分开部署。 (3)各客户端与云端进行数据交换。 (4)通过MAS移动业务整合使得开发的移动应用可以访问企业原有业务系统,如ERP、CRM、OA系统等。 3.3开发平台选型 针对主流的HybridApp开发平台,结合企业移动应用的实际需求,需要在技术先进性、平台完备性、数据连通性、移动安全性、部署便利性、定制服务能力及成功案例等方面进行研究与比较,在研究中可以采用如下方法: (1)理论评测。针对开发平台所需的产品特性,横向比较各个开发平台的功能特性,检查平台的完备性。 (2)POC原型验证。在固定周期内,对开发平台进行一项或多项功能原型进行验证,考核开发平台基础技术特性以及平台开发商的客户服务能力。 (3)综合实力考核。考察开发商的综合实力包括成立时间、人员规模、成功案例、业界口碑、技术服务能力及深度合作意愿等。 3.4模板与插件机制 为提高开发效率,可以充分利用HybridApp开发平台的模板与插件机制。 模板是在集成开发环境中预置的一些界面及代码,比如AppCan开发环境集成了多套应用模板,可以在新建项目时生成电商、新闻、阅读、移动OA及空模板,供开发者套用和定制,完成快速开发,如图3所示。另外还预置了上百套页面布局模板,支持各种形式的布局样式。如页面只有顶部栏、页面既有顶部栏又有底部栏、抽屉等;支持内容区域布局样式,如列表、表单、九宫格、表格等。 如果应用比较复杂,或者需要采用更多移动设备的本地功能,或者某些特定平台具有其他平台没有的一些特性时,就需要用到插件机制。不同Hybrid开发平台编写插件的步骤略有不同,比如对于PhoneGap通常插件至少包括两个部分: (1)获得原生功能的JavaScript钩子文件。 (2)使用原生语言编写代码,对于Android使用Java,iOS使用Objective-C或Swift,WindowsPhone使用C#,用于和设备底层进行交互。 插件编写完后,利用开发平台的功能生成插件包,就可以在移动应用系统的开发中使用了。 |