移动智能终端HTML5技术与标准研究
2013-12-11闵栋魏凯文婷
闵栋 魏凯 文婷
提出了中国超文本链接标记语言5(HTML5)技术的发展策略:以操作系统Web化路径为发展主线,坚持以原生操作系统为核心的技术创新,在原生操作系统基础上研发和部署自主的Web运行环境,并行支持原生应用与Web应用两种应用生态;以平台型浏览器路径为发展辅线,大力支持中国自主平台型浏览器的研发与产业化,并推动自主浏览器与自主操作系统在终端能力调用、性能及功耗优化、应用生态构建等方面展开深度合作。
HTML5技术;移动互联网;Web应用
This paper describes a strategy for developing HTML5 technology. The primary development path is the web-based OS. We take the native OS as basis for innovating HTML5 technology and use it to develop and deploy the web execution environment. The native OS supports both native APPs and web APPs. The second path is developing a platform-based browser that can support the development and industrialization of Chinas own platform-based browser and promote cooperative device API calling, performance optimization, and construction of an ecosystem between the independent browser and OS.
HTML5 technology; mobile Internet; Web service
1 Web技术
当前,移动互联网产业的竞争主要集中在对应用生态系统的构建与掌控上。2008年以来,以苹果App Store、谷歌Google Play为代表的应用程序商店实现了爆发性增长,成为当前应用生态系统的主导模式。但以浏览器为入口,类似目前PC互联网的Web应用服务模式亦实现高速增长,并在超文本链接标记语言5(HTML5)、云计算等新技术驱动下开辟新的发展空间,推动移动互联网应用生态向“Web应用+原生应用”阶段发展。
Web应用服务系统是以HTML、超文本传输协议(HTTP)等技术为基础构建的互联网信息服务系统,主要由Web应用服务、终端Web应用运行环境、应用生成开发工具、服务部署托管平台等部分组成,其系统技术架构如图1所示。
移动Web应用服务可分为前端技术、后端技术和应用层网络协议3部分。前端技术用于Web应用服务在终端Web运行环境上的内容展现与逻辑执行,主要包括HTML、CSS、DOM、Java Script等技术;后端技术用于Web应用服务器端的逻辑执行与资源管理,主要包括动态网页技术、数据库技术等;应用层网络协议用于Web应用前端与后端之间的信息交互与数据传送,主要包括HTTP协议、文件传输协议(FTP)、简单邮件传输协议(SMTP)等。
终端Web应用运行环境是Web应用在终端上展现及执行的环境,可以是操作系统Web引擎、浏览器、Widget引擎等。其中,浏览器内核是Web应用运行环境的核心,可分为渲染引擎和Java Script引擎两种:渲染引擎负责HTML、CSS、DOM等网页标记语言的渲染,Java Script引擎负责Java Script脚本的逻辑执行。此外,Web应用运行环境还可通过Java Script扩展应用编程接口(API)调用终端、网络及业务平台拥有的能力和资源。
应用生成开发工具主要包括应用开发框架、集成开发环境以及模拟器等,帮助开发者缩短开发周期,提高应用质量,目前流行的Web应用开发工具有Adobe PhoneGap、jQuery等。服务部署托管平台为Web应用服务提供代码部署与运行的一套完整环境,使开发者可以不用维护服务器、数据库等,而直接把Web应用服务部署在托管平台上。
当前,Web应用服务系统的创新发展主要集中在Web应用前端技术上,包括W3C与WHATWG制订的HTML5、CSS3、SVG等标准以及ECMA制订的Java Script标准等。而HTML5作为Web应用前端技术中最核心、最重要的标准,已经成为整个新一代Web前端技术的代称。
HTML5标准经历了相当长的发展历程。HTML最初由CERN提出,后转到IETF继续相关工作。1994年,W3C正式成立,成为HTML标准的主要推动组织。1998年,HTML4版本完成,并于1999年发布其修订版HTML4.01,成为当前业界使用最广泛的版本。1998年之后,W3C终止了HTML4的后续演进,转而进行XHTML标准制订。于是,Opera、苹果、Mozilla等企业自发成立超文本应用技术工作组(即WHATWG),开始HTML5标准的研发。直到2008年,W3C放弃其原先支持的XHTML道路,开始与WHATWG合作推动HTML5标准。2012年12月,W3C宣布HTML5标准进入候选标准阶段,标志其主要特性已基本稳定。
值得关注的是,2012年7月,WHATWG与W3C再次因理念不合分道扬镳:WHATWG的标准不再有版本号,被称为“活”标准,根据市场或技术情况进行动态演进,其标准版本将无完成的概念;而W3C坚持传统标准路线,标准一旦颁布将无法修改,新增特性只能在新版本中体现。WHATWG的“活”标准将在较为稳定之后被W3C分阶段吸纳成为相应的“快照版”。
2 HTML5技术特性及发展
走向
相比HTML4,HTML5标准主要注重提升Web在终端上的语义化、交互、系统能力调用、多媒体等方面的能力,致力于推动Web从原先提供信息浏览的简单网页转变为实现复杂功能的Web应用。在HTML5的支持下,终端Web应用运行环境(包括浏览器、Web引擎、Widget引擎等)将成为操作系统之外新的标准化、全功能应用承载平台,从而带来应用服务跨平台发展的重大机遇。
总体来说,HTML5主要引入了以下几方面的新特性:
(1)结构化、语义化的标签体系
HTML5新增加了一系列结构化的网页标签,例如
(2)面向应用的功能增强
HTML5技术的核心目标是打造以HTML5为核心的新一代Web应用平台,因此HTML5面向Web应用不断进行功能增强,引入包括多线程并发、离线数据缓存、增强本地存储、跨域资源共享、网页套接字等新特性。
多线程并发。WebWorkers特性使Web应用弥补了以往只能单线程运行的短板,能够支持多线程的Web操作,并能将资源消耗较大的操作放到后台执行,从而提高Web应用的响应速度,降低终端资源消耗。
离线数据缓存。Offline App Cache能够将Web应用相关的资源文件缓存到本地,使用户在离线状态下也能使用Web应用,为开发离线的移动Web应用奠定了基础。
增强本地存储。Web Storage特性为简单的网页数据存储提供了LocalStorage和SessionStorage两个基本方法:LocalStorage可将数据永久保存在本地;SessionStorage可在浏览器会话保持期间保存数据。IndexedDB是HTML5另一种数据存储方式,能够帮助Web应用存储复杂结构的数据。
跨域资源共享。Cross-Origin Resource Sharing特性使Web应用突破以往无法跨域名访问其他Web应用的限制,从而增强了Web应用服务之间的交互能力。
网页套接字。Web Sockets特性允许在Web应用前端与后端之间通过指定的端口打开一个持久连接,实现双向的实时数据推送,极大提高Web应用的效率。
(3)系统资源调用的增强
HTML5制订了一系列设备能力API标准,极大提升了Web应用服务对终端设备能力的访问和调用能力,主要包括终端系统信息API、日历API、通信录API、摄像头API、各种传感器API等。此外,HTML5还引入地理位置API(Geolocation API),使Web应用能够访问所持终端设备的位置信息,以及视频通信API(WebRTC API)等。
(4)多媒体支持的增强
HTML5极大增强了Web应用在绘图、视音频、字体、数学公式等方面的表现能力,例如画布(Canvas)特性提供强大的2D、3D绘图渲染能力;
以HTML5为基础的Web应用顺应了云计算大规模、低成本、易运营的发展趋势,将程序代码、数据内容托管在网络侧云计算平台上,在终端上通过标准化、跨平台的Web应用运行环境提供服务,将对整个移动互联网应用生态组织方式和市场竞争格局产生影响。在Web应用服务模式下,Web应用可实现“一次编写,跨多种终端设备或操作系统运行”,开发者无需针对不同终端维护不同的软件版本,只需在网络侧对Web应用进行统一部署、修改和升级;在应用发布环节,Web应用的发布基本不受任何限制,可采用Web应用商店、社交网站、搜索引擎等多种方式,并可对Web应用进行搜索引擎优化(SEO),从而摆脱应用程序商店漫长且不可控的审核流程;在盈利模式方面,Web应用的盈利方式更加灵活多样,可采用广告、游戏、电子商务等所有互联网的货币化手段,但其能否取得成功尚需要时间验证。未来,Web应用将与基于操作系统的本地原生应用优势互补、并行发展,共同构成移动互联网应用生态系统。
需要指出的是,HTML5技术虽是移动互联网未来发展的一个重要方向,但从目前来看,其距离成熟应用仍较遥远:一是HTML5技术本身远未成熟。HTML5仍处在标准完善发展阶段,运行效率、设备能力调用、安全性等方面难匹敌原生应用;同时其标准组织(W3C与WHATWG)又发生分裂,统一Web运行环境的构建困难重重;二是运行支撑能力仍待升级。移动智能终端的基础硬件性能仍落后于PC,Web应用的低效率长期难以得到解决,电源功耗制约也对其用户体验构成严峻挑战,同时HTML5技术对时时在线和实时交互的需求更为突出,对网络支撑能力提出新的重大挑战;三是产业生态力量弱且分散。HTML5背后支持者主要为互联网公司、浏览器厂商、电信运营商等,目前产业界缺少能协调各方利益的主导企业,出于对第一入口的争抢,各方技术方向虽统一,但实现方式差异颇大,生态体系零散且规模较小,短期内难以形成合力共同构建统一的移动Web产业生态;四是商业模式仍未成型。商业模式是整个Web产业生态能否成功运行的关键,桌面互联网三大成功模式(广告、游戏、电子商务)在移动Web领域都还未得到成功验证,目前流行的混合编程模式实质是Web应用生态尚未找到有效模式的无奈选择,Web产业生态如何赢利仍待产业界进一步探索[2]。
3 HTML5实现路径及产业
进展
当前,全球科技巨头都在积极布局HTML5技术,抢占未来技术与产业竞争的制高点。Facebook、亚马逊等互联网企业均采用HTML5改造其应用服务,据工信部电信研究院预计。2012年全球主流网站支持HTML5的比例将超过50%,视频网站支持比例将超90%;苹果、谷歌、微软、Mozilla、Opera等也大力提升了其终端或浏览器产品对HTML5的支持程度。据Strategy Analytics预测,到2013年底全球支持HTML5的移动智能终端将达到10亿部。
HTML5技术按照Web运行环境不同可以分为4种不同的实现路线,分别为操作系统Web化路线、平台型浏览器路线、Widget引擎路线以及Web操作系统路线,各科技巨头分别依托各自优势选择不同的路径。
操作系统Web化路径是在原生操作系统中深度整合Web引擎,或者搭载并优化自有浏览器,以支持HTML5应用,代表企业为终端、操作系统厂商,例如苹果、谷歌深度优化自带浏览器对HTML5的支持,微软在Windows 8操作系统中内嵌Web引擎,并提供HTML5应用开发工具。
平台型浏览器路径是以适配不同终端与操作系统的平台型浏览器作为Web应用运行环境,代表企业主要为浏览器厂商与大型互联网公司。例如Opera、Mozilla、亚马逊等企业都推出针对不同终端及操作系统的浏览器产品,Facebook也推出浏览器兼容性测试套件Ringmark。
Widget引擎路径是以网络能力API为核心打造Widget引擎平台,承载运行Widget形式的Web应用,主要支持者为电信运营商,例如全球24家运营商组建的大规模应用联盟(WAC)、中国移动的BAE、韩国的K-APPs等。
Web操作系统路径可看作是操作系统Web化的极端产物,其完全放弃原生应用框架,只搭载Web应用运行环境,并对整个操作系统架构进行了深度修改和优化。例如,谷歌推出的Chrome OS操作系统,Mozilla与西班牙电信合作推出的移动Web操作系统Firefox OS、英特尔与三星等公司合作推出的Tizen等。
除以上实现路线之外,目前还出现了混合编程应用框架,将HTML5等Web语言编写的代码编译成适配不同操作系统的原生应用,例如Adobe PhoneGap应用框架等。混合编程应用框架是HTML5技术与商业模式尚未成熟时期的过渡方案,借力原生应用的发布渠道(应用商店)和货币化模式(前向收费),将加速HTML5应用的发展进程[3]。
目前,中国产业链上的典型企业也已经开始布局HTML5技术,展现了强劲的本土化创新能力,HTML5的主要路径已全面覆盖,并形成了较好的产业和市场基础,有可能抓住当前技术变革机遇建立竞争优势。
首先,操作系统Web化已成为中国企业的重要研发方向,国产移动操作系统在兼顾原生应用的同时,也通过搭建Web运行环境来支持HTML5 Web应用服务,例如阿里巴巴的阿里云OS、盛大乐众ROM、联想乐OS等。同时阿里巴巴等互联网公司已有强大的云计算服务平台,初步构建了云端一体化的Web生态系统。
其次,国产浏览器初具实力,UC浏览器、海豚浏览器、QQ浏览器、360浏览器、百度浏览器、中国移动冲浪浏览器等百花齐放,已占领中国市场主要份额,并具备国际拓展能力。国产浏览器技术水平也取得实质性提高,在HTML5支持度、Java Script引擎效率、硬件加速等方面均有显著提升,并有不少自主创新技术。同时,UC优视、腾讯等企业还基于其浏览器产品构建了HTML5应用商店。
第三,中国三大电信运营企业都推出自己的Widget引擎,虽然目前只在运营商定制终端上小范围应用,但是中国企业在WAC等组织中制订的电信网络能力API等标准将对Web技术进一步发展打下良好基础[4]。
此外,中国已有多家企业推出类似PhoneGap的混合应用开发框架,例如AppCan等,支持原生与HTML5混合应用编程开发,并通过Java Script扩展API向开发者开放终端本地能力,甚至提供微博、搜索、即时消息等第三方开放平台接口。
4 中国HTML5技术发展策略
目前,以HTML5为代表的新一代Web技术仍处于发展初期,发展方向和产业规则均尚未最终形成。中国企业应抓住新一代Web技术发展契机,采取“一主一辅”路线:以操作系统Web化路径为发展主线,坚持以原生操作系统为核心的技术创新,在原生操作系统基础上研发和部署自主的Web运行环境,并行支持原生应用与Web应用两种应用生态;同时,以平台型浏览器路径为发展辅线,大力支持中国自主平台型浏览器的研发与产业化,并推动自主浏览器与自主操作系统在终端能力调用、性能及功耗优化、应用生态构建等方面展开深度合作。
在明确发展方向的前提下,从技术研发、标准制订、公共评测、应用生态培育等方面积极布局、重点着力:第一,依托重大专项等项目,统一推进中国HTML5技术研发和产业化,重点突破浏览器内核、操作系统Web引擎、浏览器、Web应用开发工具等关键技术;第二,加快标准的统一规划与推进,确定并维护统一的HTML5标准基本支持集,制订支付、定位等关键能力API标准,构建中国自主的HTML5安全标准体系;第三,建设HTML5评测公共服务平台,对浏览器、操作系统Web引擎、Web应用等的标准符合性、功能、性能、安全等开展统一评测;第四,构建统一的Web应用开发者社区和应用商店,打造HTML5广告平台、支付平台、能力运营平台等,促进可持续的Web应用生态形成。
参考文献
[1] 陈博, 顾霞. 移动终端HTML5Web应用技术与标准 [J]. 电信网技术, 2012,05:5-9.
[2] 闵栋. 移动互联网技术产业进展与发展趋势 [J]. 现代电信科技, 2013,Z1:22-26.
[3] 杨志强, 张炎. 构建移动互联网应用基础设施——打造“开放花园” [J]. 中兴通讯技术, 2009,04:1-4.
[4] 张智江, 严斌峰. 移动互联网业务发展探讨 [J]. 中兴通讯技术, 2009,04: 5-7.