HTML5会是下一个风口吗?
苹果在其所统领的原生APP世界里,发表了很多宣讲HTML5将真正开始颠覆原生(Native)App的文章,并且开始着力发展HTML5,试图抢占HTML5这个未来的风口。那么,HTML5会成为下一个风口吗?HTML5定稿后真的能颠覆目前火热的原生APP吗?个人认为,存在以下几方面的情况。
1. 苹果、谷歌的态度
苹果和谷歌所代表的iOS、安卓系统,占据了移动端系统95%以上的市场份额,而且谷歌和苹果都是原生APP的坚定支持者。要知道,HTML5或者说Web APP之所以未能成为移动互联网最主要的APP实现方式,正是因为2007年第一代iPhone问世,它几乎将Web APP从移动互联网上“赶尽杀绝”。再加上原生APP在用户交互方面表现优异,Web APP根本没有生存空间。
不过,情况正在发生变化。2013年底谷歌发布的Android 4.4,其内置的Webview不再是蹩脚的Android WebKit浏览器,而是Chromium。2012年iPhone 5发布后,HTML5在iOS上的表现已令人满意,Safari独家的JavaScript加速引擎Nitro不再那么重要。到了iOS 8发布后,苹果取消了三方程序调用Nitro的限制,现在任意浏览器或应用调用iOS的UIWebview都可以利用Nitro加速。两大手机操作系统霸主和浏览器巨头态度的转变,使得HTML5在手机上的发展不再受限,而且这种变化不可逆,必将产生深远的影响(引自36氪于2014年11月3日发表的《HTML 5终于定稿,八年后我们再一次谈谈怎么改变世界》)。
谷歌和苹果似乎也看到了未来HTML5的优势,它们不仅在浏览器内核上做出改变,在浏览器操作方面也有相应调整。例如,在Safari浏览器中,可以将网页添加到主屏幕,在主屏幕上增加一个快速进入该网页的Web应用程序,这或许是在为未来基于HTML5开发的Web APP搭建入口。
2. HTML5自身的技术限制
尽管HTML5是唯一一个通吃PC、Mac、iPhone、iPad、Android、Windows Phone等主流平台的跨平台语言,但它自身的缺陷也不可避免。API缺失、无法与移动端硬件进行良好交互、不支持移动端特有的推送功能以及交互不流畅等问题,都是短期内难以解决的,这些也是阻碍Web APP发展、限制其快速普及的主要因素。
3. 软件开发商的态度
目前,由于谷歌和苹果在原生APP市场具有统治力,它们对HTML5的态度一直不太明确,既没有大力发展的态势,也没有完全否定。基于此,软件开发商也有不同的态度。一种是继续保留原生APP,不开发Web APP;另一种是大力发展基于HTML5的Web APP;而更多的开发商采用了混合开发模式,即采用原生 + HTML5的方式进行开发。这种模式既能借助原生技术弥补HTML5的缺陷,又能利用HTML5技术实现快速迭代等功能。目前一些立足于平台的APP或者新闻类APP大多采用了混合开发模式。不过,尽管混合开发模式是对HTML5技术的重要应用,但不可否认,它还是依托以原生为主的APP来运行。
4. Web APP的入口和运行环境
在移动互联网早期,借助浏览器,Web APP拥有良好的运行环境和优质的入口。但随着Web APP被原生APP取代,原生APP建立了系统 + 应用商店的模式,作为其获得入口和运行环境。那么,Web APP的获得入口和运行环境是什么呢?由于不同系统的浏览器内核存在差异,对HTML5的支持情况会影响Web APP的使用和交互,这成为了核心问题。微信似乎给出了一个很好的解决方案,2015年1月19日,微信对开发者开放了微信内网页开发工具包(微信JS - SDK),用户可以借助JS - SDK开发基于微信的Web - App,并借助微信服务号代替网址的方式,逐渐搭建了一个Web APP的应用商店和运行环境。
尽管HTML5的发展前路漫漫,充满挑战,但不可否认的是,随着HTML5定稿,未来Web APP将迎来绝佳的发展机遇。随着硬件处理能力的提升,原本HTML5存在的性能问题将会得到解决,技术的进步也会逐渐缩小它与原生APP的差距。凭借其跨平台的优势,HTML5自然会有很大的发展空间。但在我看来,它不太可能完全替代原生APP,就像网页游戏的推出并没有打败客户端游戏一样。未来,Web APP将在适合它的环境中发展,原生APP也会在其适宜的环境中继续存在,二者将共同发展。