来源:移动通信杂志 更新时间:2013-10-24
HTML5应用有望改变Native应用对操作系统的依赖。介绍了基于HTML5的移动互联网应用的特点,分析了基于HTML5的新型产业链的发展现状,对基于HTML5的移动互联网应用的技术实现方案进行了阐释,对移动互联网应用的发展趋势作了展望。
1.引言
移动互联网作为移动通信和互联网紧密结合的产物,能为用户带来全新的、区别于传统互联网的业务体验,它正在成为整个信息技术产业发展最迅猛、市场潜力最大、竞争最激烈的领域。经过近几年的迅猛发展,“终端+应用”的模式已成为目前移动互联网产业链的主要商业模式。移动互联网应用以基于智能终端操作系统的Native应用为主,应用开发受制于智能终端操作系统所提供的API,因此智能终端操作系统在目前的“终端+应用”模式中有举足轻重的作用,掌控以智能终端操作系统为核心的Native应用生态环境成为产业链各方的竞争焦点。而终端操作系统在经历初期种类繁多、百花齐放的发展阶段后,目前已进入iOS和Android显著领先的发展期,二者已分别打造出具有良好竞争优势的生态系统。根据IDC的统计数据,2012年iPhone和Android终端全球出货量分别为1.359亿部和4.971亿部,分别占全球智能机出货量的18.8%和68.8%。截至2012年底,iOS和Android应用软件数均已超过70万款。
由于Native应用依赖于智能终端操作系统,因而存在诸多缺点:对于开发者,同一款应用需针对不同终端OS及不同版本进行重复开发和适配,增加了应用的开发和维护成本;对于用户,不同终端需下载不同版本的应用,造成应用使用的不便和业务体验的差异;对于产业链,用户的认证、计费都由终端操作系统掌控的应用商店完成,造成了目前终端操作系统厂商在产业链上占据主导地位的局面,不利于产业链各方的共赢发展。
HTML5泛指下一代Web应用技术标准,主要包括HTML5、CSS3、JavaScript、Web Application API、Device API等一系列标准。基于HTML5的移动互联网应用在移动终端Web运行环境中运行,应用代码主要部署在云端设备上,它能将移动终端的本地能力与传统Web应用的运行模式相融合,具备良好的跨平台性。因此HTML5应用有望改变Native应用对操作系统的依赖,为移动互联网产业带来新的商业模式,为产业链各方带来新的发展契机。
2.基于HMTL5的移动互联网应用特点
与Native应用主要运行在终端本地操作系统之上不同,HTML5应用程序主要运行在云端服务器侧,应用与终端本地操作系统仅进行轻量级的交互访问;因此HTML5应用与Native应用相比,在应用运行模式、应用开发模式以及用户体验方面都存在区别。
2.1 应用运行模式对比
目前的Native应用主要运行在本地终端及操作系统之上,针对不同的操作系统版本、不同的硬件平台需要开发不同的应用版本,因而Native应用在响应处理效率、设备能力调用方面具有诸多优点。但是也应该看到,在这种Native应用模式下,应用对终端及操作系统的依赖性非常强,从而造成目前终端平台及应用割裂的问题。
但相对于Native应用而言,HTML5应用的大部分代码运行在云端服务器侧,终端侧只是进行简单的轻量级交互,因而Web应用对终端及操作系统的依赖性大大弱化,应用具有良好的跨平台性。
2.2 应用开发模式对比
Native应用采用复杂的操作系统本地编程语言编写,开发者需要针对不同类型操作系统、同一操作系统的不同版本及不同的硬件平台来开发不同版本的应用,应用的开发、调试和适配工作量非常大,因而导致应用开发周期较长、技术门槛较高;此外,在应用开发完成后,后期应用的维护成本也较高,当开发者进行版本更新时,需要针对适用于不同操作系统版本的应用同时进行更新,且应用更新完成后,需要将新版本的应用上传至应用商店,并重新进行应用商店的审核流程,无法满足应用的快速部署需求。
HTML5应用采用标准Web语言, 如HTML5、CSS、JavaScript等编写,应用在HTML5浏览器中运行,并可以轻松移植到任何支持HTML5浏览器的终端上,能够实现跨平台运行。因此,对于同一款应用,开发者只需要集中精力开发一个版本即可,有助于减少开发者在应用适配方面的工作量;应用需要更新时,开发者也只需在服务器端维护一个版本即可,无须针对不同的操作系统和终端开发不同的新版本,大大降低应用的开发和维护成本,很好地满足了移动互联网时代应用的快速开发和部署需求,真正实现“一次开发、随处可用”。此外,相对于Native应用,HTML5应用采用HTML、JavaScript脚本语言开发,开发复杂度低、开发群体大、开发速度快、便于个人开发者加入,真正实现了移动互联网“人人参与”的特性。
2.3 用户体验对比
由于HTML5应用主要运行在云端平台侧,对于部分Web应用甚至无需在终端进行下载、安装,用户在终端上打开浏览器运行即可;当开发者进行应用版本更新后,应用只需在云端进行代码更新,用户无需重新下载新版本的应用,减少了重新下载和安装的过程;应用在终端上的使用复杂度降低,大大改善了用户的业务体验,同时也扩大了应用的使用人群。
3.基于HTML5的移动互联网产业链现状
HTML5移动互联网产业链包括浏览器厂商、HTML5应用开发者、HTML5应用平台等各个环节(见图1),目前HTML5产业链已初步成形。
图1 HTML5移动互联网产业链构成
目前业界主流的浏览器厂商,包括苹果、谷歌、微软、Mozilla和Opera等都已经在其浏览器产品中支持HTML5标准。图2为html5 test.com网站提供的五大浏览器对HTML5支持程度的测试得分,可以看到:Chrome浏览器对HTML5的支持保持领先地位,而其他浏览器也在快速提升。此外,随着HTML5应用的兴起,除了支持HTML5的浏览器外,还出现了新型的、基于HTML5的WebOS,这类操作系统采用Web浏览器内核、面向未来的HTML5应用模式而开发,值得关注的还有2012年最新发布的两个声称完全采用HTML5技术的操作系统:Intel与三星合作开发的Tizen系统、Mozilla与西班牙电信合作推出的Firefox OS。
图2 各浏览器的HTML5特性测试评分
除了浏览器及操作系统厂商外, 应用开发商也开始用HTML5来改造自己的业务,如视频分享网站YouTube已经启动通过HTML5视频播放器提供视频的功能。HTML5视频播放器允许用户在没有Flash播放器插件的情况下观看视频,视频加载更快,开发者也可以基于HTML5开发各种丰富的功能。
在国内厂商中,百度和UC也在HTML5方面进行了积极的探索。百度应用中心是百度推出的HTML5应用发布平台,支持多种浏览器和硬件平台,HTML5应用既可以在应用平台页面上展现,也可以在百度的搜索结果页面上直接展现,依托百度的搜索资源进行推广。同时百度还推出了百度开发者中心,为开发者提供在线应用开发平台、运营支撑、渠道推广、商业变现的全方位支持。UC应用中心依托UC浏览器的技术优势,基于UC海量用户的优势,受到了HTML5应用开发者的青睐。目前HTML5应用超过800款,典型应用包括:去哪儿、新浪微博、搜狐视频等,应用添加次数超过1亿次,活跃用户超过3000万。
4.基于HTML5的移动互联网应用技术
图3 HTML5应用技术实现架构
HTML5移动互联网应用的技术实现架构如图3所示,主要可分为HTML5应用平台侧和支持HTML5应用的终端侧两大部分。HTML5应用平台侧主要提供HTML5应用云端托管环境、应用管理功能以及网络能力开放接口等功能;终端侧主要提供HTML5应用在终端的运行环境,目前终端运行环境主要以支持HTML5的终端浏览器以及基于HTML5的WebOS两种方式提供。
4.1 基于HTML5的应用平台侧技术实现
基于HTML5的应用平台侧主要包括应用代码云端托管环境模块、应用管理功能模块、能力开放接口模块三大部分,具体功能如下:
(1)应用代码云端托管环境
应用托管环境是一个托管在网络侧的HTML5应用程序平台,保障HTML5应用代码在云端的运行。托管环境提供HTML5应用代码的数据管理和运行服务,为HTML5开发者提供一种虚拟的云端运行环境;并提供了HTML5应用程序运行所必须的中间件组件,以及中间件组件运行所需要的集群服务支撑能力,实现对移动Web应用的服务路由和工作流引擎支持,提供应用服务的应用流程保障和托管部署能力,帮助开发者简化应用程序的构建和维护。
(2)应用管理功能
应用管理平台提供应用管理、用户管理及其他管理功能。应用管理是指对应用生命周期进行的管理以及应用信息的管理,应用生命周期包括应用审核应用发布、应用更新、应用注销的整个过程,应用信息包括应用名称、应用版本、应用部署信息、应用生命周期所处状态和应用订购关系等。用户管理包括用户的应用订购信息、用户认证、鉴权、计费等管理功能。其他管理是整个HTML5应用平台的运行和运维所提供的管理功能,实现对资源、业务、数据的管理工作,主要包括资源管理、调度管理、安全管理、业务运行管理和日志管理等功能。
(3)网络能力开放接口
能力开放接口为HTML5应用提供第三方业务能力开放的接口接入功能,通过开放、统一的API形式为开发者提供各种第三方业务能力,如地图、短信等业务能力,丰富HTML5应用类型;同时提供能力开放的鉴权与控制功能,保证能力开放接口的安全有序调用。
4.2 基于HTML5的终端侧技术实现
基于HTML5的终端侧可以采用基于HTML5的终端浏览器和基于HTML5的WebOS两种技术实现模式。
(1)基于HTML5的终端浏览器技术实现(图4)
图4 基于HTML5的终端浏览器技术实现架构
基于浏览器的方式在目前主流的Native智能终端操作系统上即可实现,只要浏览器支持HTML5的相关特性即可。这种技术实现方式通常是在操作系统层嵌入浏览器内核(例如Webkit),在其基础上扩展Web渲染引擎和JavaScript引擎的功能,并将HTML5特性在引擎中实现,在上层封装后形成浏览器Web运行引擎,以Web浏览器形式向应用层开放。
在此种技术框架下,浏览器为HTML5应用提供终端的应用运行与管理环境,浏览器与云端的HTML5应用平台进行交互,并提供HTML5应用的安装、卸载等管理功能。
(2)基于HTML5的WebOS技术实现(图5)
图5 基于HTML5的WebOS技术实现架构
随着HTML5应用的兴起,在目前的Native智能终端操作系统外,也出现了一种新型的、基于HTML5的操作系统——WebOS。WebOS完全基于HTML5技术开发,它以统一的Web API形式对上层应用开放终端能力,能够避免目前不同Native操作系统提供不同的API开发接口的问题,能够很好地支持HTML5应用的跨平台运行。采用这种技术架构实现的典型操作系统包括Firefox OS及Tizen。
5.总结
“终端+应用”是目前移动互联网产业链的主导模式,由于Native应用基于本地操作系统运行,智能终端及操作系统是该模式的核心,因此智能终端操作系统厂商在该产业链上占据了绝对的主导地位。然而,由于HTML5应用主要部署在服务器侧,终端侧只是进行简单的轻量级交互,HTML5应用凭借其良好的跨平台性,能很好地解决目前操作系统割裂的问题。因此,HTML5作为开放、中立的新一代Web前端技术,被互联网公司、浏览器厂商、运营商等企业寄予厚望,并被赋予“原生应用掘墓人”的角色,希望以此突破原生操作系统厂商的技术与渠道垄断。
不过,HTML5应用毕竟属于新生事物,其应用生态环境的发展必然是一个长期渐进的过程。很长一段时间内Native应用将与HTML5应用并存发展,HTML5应用的发展壮大是一种渐进式改良,而非破坏性革命,两者适用于不同的应用场景,满足不同的用户需求。Native应用执行效率高、用户体验好,适合实现复杂功能和酷炫效果的重量级应用;而HTML5应用顺应了云计算大规模、低成本的发展趋势,适合长尾化的轻量级服务;两者可以优势互补、并行发展,共同构成未来移动互联网的应用生态系统。