APP下载

HTML5技术在移动互联网中的应用

2014-05-18张欣宇冯一帆

信息通信技术 2014年5期
关键词:跨平台插件浏览器

李 正 张欣宇 冯一帆

1 中国联通研究院 北京 100032

2 北京中网华通设计咨询有限公司 北京 100070

1 移动互联网应用现状

近三年来,我国移动互联网用户规模呈迅猛增长态势,根据中国互联网络信息中心发布的统计数据[1],截至2013年6月底,我国网民规模达5.91亿,其中手机网民规模4.6亿,占比78.5%,相比较2009年12月的调查结果,使用手机上网用户规模增长98.7%。促成手机网民数量大规模增长的原因除了我国3G移动网络的普及、无线网络发展(包括公用和私有WiFi的发展)外,也得益于智能手机的大规模普及和手机应用的创新。

根据市场研究公司Gartner于2013年9月20日发布的数据,2013年全球移动应用下载量猛增至1 020亿次,并将持续增长至2017年,届时将达到2 690亿次。可见,移动互联网应为用户的工作和生活所带来的便利已深入人心。同时,对于移动互联网应用的开发者来说,想要让更多的用户使用自己的应用,面对市场中种类繁多的移动终端,如何更加快速、有效地开发、维护应用程序便是关键的一环。

目前,移动互联网应用的呈现形态主要分为移动Web应用和本地应用(Native App)两大类。本地应用是指数据的运算和存储均在本地(移动终端)操作系统上的应用,一般采用系统原生语言开发(如Android系统中使用Java,IOS系统中使用Object-C,Windows Phone中使用C#或C++等)。Web应用是指运行在Web引擎上的应用,一般采用网页编程语言开发。

1.1 本地应用

本地应用的特点是运行效率高、能够直接与终端硬件交互、实现丰富的人机交互方式。目前,在移动互联网应用市场中,绝大多数应用都是本地应用,但随着用户和智能移动终端平台种类的增加,本地应用发展所面临的问题也逐渐摆在应用开发商的面前。

1) 跨平台部署问题。当前主流移动智能终端系统有Android、IOS、BlackBerry OS、Windows Phone等,这些系统下的本地应用均无法运行在其它系统中,这意味着开发商要针对每一个移动平台招聘不同的开发、维护人员,将使得开发成本激增。

2) 快速更新与发布控制。上述主流操作系统中,除Android系统外,应用的发布都要受到系统厂商的管理,应用开发商必须通过特定的应用商店(比如Windows Phone Apps+Games Store、IOS下的App Store)才能让用户得到自家开发的应用,这对开发商在开发应用的功能上做了限制,也降低了应用的发布速度。

3) 碎片化问题。碎片化问题在Android系统中表现的尤为明显,由于其系统和硬件的开放性,市场中的Android设备屏幕尺寸、分辨率各异,再加上Android系统频繁更新,小的设备厂商没有实力快速加入新版本阵营中,使得碎片化日益严重。应用开发商要适配不同设备,使开发成本大幅增加,甚至导致了许多开发商放弃Android平台[2]。

这三个问题是制约本地应用发展的主要原因,相比较而言,移动Web应用在这些方面有着明显的优势。

1.2 传统移动Web应用

与本地应用相比,Web应用不直接依赖于终端系统的原生语言,而是直接在终端系统的Web引擎上运行,具有良好的跨平台特性,面对移动智能终端的“碎片化”问题相比本地应用也有更好的表现。这一特性也使Web应用的分享、传播变得极为方便,用户只需要知道应用的地址链接便可访问该应用,应用升级时开发商只需将升级后的应用部署到服务器上,用户再次访问时便可以使用最新的版本,因此,开发商可以自如地控制Web应用的发布可版本升级。

然而在HTML5技术出现之前,Web应用与本地应用之间有着不可逾越的障碍,从功能上可分为以下几类问题。

1) 本地存储。首先,相对传统的应用,Web应用不需要安装,所占空间小的特性使其具备传统软件应用所不具备的优势,但由于缺少本地存储数据的能力,在没有网络信号覆盖的地方,Web应用也就无法正常使用;其次,每次访问同一个Web应用时,都需要下载一次应用数据,其中包含大量重复数据,这会消耗大量带宽和流量。

2) 设备硬件访问。由于当前网络标准的限制,使得Web应用很难访问设备上的各种硬件,比如各重力感应传感器、GPS、摄像头等硬件。无法利用这些元件的硬件特性会极大地阻碍Web应用的创新,这是制约Web应用发展的重要原因。

3) 图像绘制及渲染。想要直接在网页上进行绘图是不能轻易完成的,即使是几何图形也不可以。在浏览器当中只能对图片做出点击、保存等有限的交互操作。如果希望在网页中对图片做出更多操作或者画出图形,就需要借助 flash、silverlight这类插件来完成。

4) 多媒体播放。当前在Web应用中,大多数音视频是通过插件(比如 Flash)来播放的,这对含有此类功能的Web应用带来了跨平台方面的困难,因为并非所有浏览器都支持同样的插件(比如Safari浏览器就不支持flash插件)。

5) Web通信能力。当设计一个Web应用来展示实时的信息时(如股票信息、票务信息等),通常是使用轮询(Polling)、长轮询(Long-Polling)或流(Streaming)等实时交互方式,这些方法在交互时都会用到HTTP的请求头和响应头,包含很多不必要的额外信息以至于增加了延迟,在对流量比较敏感的移动互联网领域,这些包头消耗的流量也是一笔不可忽视的开销。

6) 脚本运行效率。众所周知,浏览器在处理HTML页面中的脚本时,当前页面处于不可响应的状态,如果页面嵌入的脚本较多或脚本执行时间较长时,用户是无法做其它操作的,因此,十分影响Web应用的用户体验。

2 HTML5技术

这些问题一直以来限制着移动Web应用的发展,使其完全无法和本地应用相抗衡,以至于出现了当前移动互联网市场中本地应用为王的局面。直到HTML5技术的出现,HTML5在这些问题上做出了令人兴奋的改进,促使Web应用急速发展,并受到越来越多开发者的关注。

2.1 HTML5概述

在HTML5推出之前,W3C推荐标准还是1999年发布的HTML4.01和2001年发布的XHTML1.1,十多年来,HTML一直没有进行真正的升级,随着互联网应用的迅速发展,HTML4.01和XHTML1.1标准已力不从心,它们以文档为中心的理念已无法满足现代互联网应用的需要,因此,开发人员要求升级的呼声越来越高。2008年1月22日,HTML5的第一份正式草案发布,其目标便是取代HTML 4.01和XHTML 1.1标准,使网络标准达到符合当代的网络需求。

广义论及HTML5时,实际指的是包括HTML5、CSS3和JavaScript在内的一套技术组合。它希望能够减少浏览器对于需要插件的丰富网络应用服务(plugin-based rich internet application,RIA),如Adobe Flash、Microsoft Silverlight和Oracle JavaFX的需求,并提供更多能有效增强网络应用的标准集。

具体来说,HTML5添加了许多新的语法特征,其中包括

猜你喜欢

跨平台插件浏览器
跨层级网络、跨架构、跨平台的数据共享交换关键技术研究与系统建设
一款游戏怎么挣到全平台的钱?
自编插件完善App Inventor与乐高机器人通信
微软发布新Edge浏览器预览版下载换装Chrome内核
反浏览器指纹追踪
基于C++语言的跨平台软件开发的设计
基于jQUerY的自定义插件开发
基于Revit MEP的插件制作探讨
基于B/S的跨平台用户界面可配置算法研究
插件体系结构软件的原理和实现