随着3G时代的到来,无线数据通信技术的发展,越来越多的移动应用融入到了人们的日常出行中。移动信息技术将在未来航空业中扮演重要的角色。目前移动应用软件多采用NATIVE 模式。这种模式的优点在于用户体验好、响应速度快。同样缺点也比较明显,主要是更新不方便,跨平台的开发成本高。而html5方式,恰好可以弥补NATIVE模式的不足,当然也存在其缺点,如数据的加密、压缩和交互体验等。
1 国内外研究对比
目前国内外手机跨平台技术比较多,比较著名的是PHONEGAP。它借助于HTML+CSS+JAVASCRIPT技术,完成UI设计和与客户端的交互。针对ANDROID、winphone、IPHONE等主流的开发平台,PHONEGAP都提供了完整的架构。
PHONEGAP模式的优势就在于率先提出了手机应用开发的跨平台技术,实现WEB技术访问手机本地资源,对于传统互联网开发人员来说入门门槛低,同时很好地解决了在网页中调用手机设备接口的问题。但该技术同样也有其缺陷性,其缺陷性主要体现在:
(1)该技术基于开放的思想,所有代码都采用WEB模式,大部分逻辑和展示都在客户端,对产品的知识产权保护有限。
(2)该技术在设计中并未考虑到手机网络流量问题。
(3)该技术采用纯WEB模式,在显示效果和用户体验方面有所欠缺,无法满足高质量的用户体验需求。
2 MSKYGAP框架设计和研究
为了很好地实现手机跨平台开发的同时,弥补PHONEGAP模式的不足,本文融合NATIVE模式和html5两种模式的优点,设计了MSKYGAP框架,以解决移动应用显示界面与手机本身的耦合问题。该框架实现了手机应用的跨平台,数据的有效通信和服务端资源访问手机本地功能,形成初步的移动开发技术框架和规范。
MSKYGAP框架包含主要功能:
(1)基础库(节点操作、触摸事件等)
基础库主要包含控件库(事件调度、缓存、ajax引擎、模板引擎等)和移动库(通知、文件处理、地理位置等),它支持低带宽和多类型数据处理、通信的完整性和数据加密、不稳定网络的异步消息传递、本地数据的缓存机制等。
(2)客户端和html5应用相结合
MSKYGAP可以理解为由webkit引擎和html5组成,将纯客户端分解成两部分,一部分专注基础引擎的开发,另一部分专注应用开发。应用部分进行分类,对于易变动的部分,与服务器的交互采用web开发常用的dwr操作数据的方式,这样方便了web开发人员平滑的过渡到手机客户端的开发,同时充分发挥浏览器调试工具的作用。手机客户端与用户粘合度高,但是更新比较繁琐,需要用户重新下载客户端。针对复杂的业务,UI的产生由服务器端完成,目前UI主要采用类WEB页面的方式进行展示。针对简单的、更新不频繁的应用,UI直接在客户端生成。对于类WEB页面,MSKYGAP在HTML5标签的基础上,扩展WEB标签,以适应手机客户端需要,实现其与手机客户端的交互。
(3)客户端数据的缓存
考虑到移动设备流量的宝贵性及离线的可访问性,产品将用户访问的数据缓存于本地,用户在使用过产品后,后续的使用均默认从缓存获取数据,只有当用户显式的刷新时才会从服务器重新获取数据。
在MSKYGAP客户端中集成了Local Storage 的缓存处理,并且针对本地存储做了两点优化:
首先对每个要存储的数据增加脏数据标志位的判断。解决在实践中遇到Local Storage的删除操作完成后,缓存数据并未真正删除的问题。 其次在本地存储的基础上增加对象内存缓存,提高了读取数据的性能。
(4)数据传输的加密机制
移动通信的特点是在传输的过程中,数据容易被截获,MSKYGAP框架实现了数据交互过程中,对请求数据进行加密处理,加密采用DES对称加密算法。用于数据加密的密码保存于手机客户端,为了提高安全性,我们对密码采用定期更新的方式,通过客户端定期从服务器端获取密码,保证密码的实时更新。
(5)实现跨平台的XMPP协议消息及时通知
MSKYGAP框架基于XMPP(可扩展消息处理现场协议)协议标准,实现服务端和客户端相互通知及不稳定网络的异步消息的推送。XMPP用于IM(即时消息)以及在线现场探测,它促进服务器之间的准即时操作,可以比短信等模式节约成本,更易于客户端结合。该模式通过数据通道,不占用语音通道,不影响通话业务,通过native扩展的接口友好的呈现给用户,该技术的消息很大程度地改善了用户的互动体验。
3 MSKYGAP框架效果分析
MSKYGAP框架融合了传统客户端和html5应用的特点,目前多款航空旅行应用中均采用MSKYGAP框架开发完成,在保证用户体验的同时,缩短了开发周期,节省了大量的人力成本。
其效果主要体现在下面几方面:
(1)MSKYGAP对于产品数据传输采用加密机制,不仅加强了数据的保密性,同时也对产品保障有利。
(2)MSKYGAP实现了在数据传输层采用数据压缩和数据完整性匹配,采用NATIVE和类WEB应用相结合模式,尽可能降低数据流量,另外MSKYGAP在客户端建立UI缓存,在服务器端可以设定某个应用的更新策略。
(3)MSKYGAP采用客户端应用和类WEB应用结合的方式,在一定程度上充分利用客户端组件的特性,降低了设计成本。在一些显示效果方面也有明显提升。
4 结束语
本文通过基于native和html的两种模式的优势,可以根据应用的特点进行客户端与类WEB应用相结合的方式,快速的实现app开发。该框架充分考虑NATIVE模式和传统WEB应用的优劣势,通过该框架便于内容提供商提供后续应用和产品升级,免除用户频繁更新的困扰,提高代码跨平台的复用性,实现了手机应用的跨平台开发,便于大规模产品开发。
参考文献:
[1]刘春华.基于HTML5的移动互联网应用发展趋势[J].移动通信,2013,9.
[2]武晶晶.跨平台的PhoneGap研究[J].信息安全与技术,2012,12.
作者简介:唐红武(1977.02-),男,工程师,研究方向:民航信息化,移动互联。