论文部分内容阅读
随着市场竞争日益激烈,如何改进企业运营效率和精细化管理水平成为企业信息化建设的首要驱动因素。近年来,随着智能设备的普及、移动网络的发展,企业从传统信息化向移动信息化发展。目前市场上有各种各样的智能设备,例如iOS、Android,各系统之间互不兼容。如果想开发一款移动应用,需要针对多个平台分别调用相应的原生API来进行开发,这就造成了开发周期长、效率低、耗费大等问题。为了解决这些问题,出现了一种新的基于HTML5的移动应用开发模式,简称混合模式。这种模式以其开发的便捷性和良好的可移植性越来越受到开发者的青睐。该模式利用Web浏览器内置的组件WebView展现HTML5页面并执行JavaScript代码。与原生移动应用开发模式不同,混合应用开发模式包含实现应用功能逻辑的Web脚本代码和访问设备系统资源的本地代码,WebView组件提供了多种桥接机制实现了Web端代码和本地代码之间的通信。混合开发模式也存在着一些问题,诸如性能和安全问题。性能问题主要表现为交互延迟,由于混合模式使用内部浏览器加载网页来实现,网页的展现需要经过加载、渲染等过程,与原生模式相比在性能上的确实存在一定的差距。安全问题主要体现在混合模式下的核心组件WebView在引入新的特性的环节,混合应用中加载的Web文件内容可以访问设备上的本地资源,但没有提供有效的安全机制来控制Web层与Native层之间的相互通信。本论文设计并实现了一个基于混合模式的企业移动信息化平台。该平台提供了一个移动门户来统一管理企业内所有的移动应用,包括应用的安装、更新、卸载等。该平台采用权限管理来控制各类用户能够访问的应用。此外,在该移动门户中整合了用户登录、消息推送、通讯录等通用管理功能。通过移动门户来管理各类应用,这样便于企业对业务应用进行统一管理,同时由于使用的是基于HTML5的混合模式,业务应用只需要开发Web层即可,不需要考虑各种移动操作系统,可以帮助企业节约开发成本,提高开发效率。论文中着重阐述了基于Apache Cordova的混合模式中存在的性能问题和安全问题的优化方案。性能方面,提出差量更新机制和离线缓存机制。差量更新机制,把所有的Web文件按照业务分类进行划分,在应用发布更新时,通过bsdiff差量更新算法对历史版本生成差量更新包,客户端进行更新时只需要下载数据量更小的更新包,然后通过bspatch算法与本地版本进行合并从而得到最新版本的Web文件,这种机制可以减少网络流量开销,并提高下载速度;数据持久化缓存机制,把Web层的数据通过Apache Cordova插件存储在本地设备,保证离线数据的稳定性,以后从本地加载数据,提高加载速度。安全方面,提出Apache Cordova插件访问权限控制机制,对混合应用中可能加载的Web页面访问Apache Cordova插件时进行权限控制,从而控制了网络代码对本地资源的访问操作。论文的最后,从两个方面着手,对优化后的移动门户进行测试分析。首先,针对文中提到的三个优化机制进行对比测试,确认有效性。其次,与基于原生模式的Apache Cordova插件开发的应用做对比测试,分析改造后的框架对性能的影响。通过测试,验证了优化机制是有效的,并且改造后的框架对应用的性能没有产生很大的影响。