为什么2012年HTML5发展远未达预期?
本文作者 Ben Savage,Spaceport.io 创始人,Spaceport.io 旨在向移动游戏开发者提供原生 Javascript 和 HTML5 开发平台。Ben 在年初的时候曾对 2012 年 HTML5 的发展趋势作了十四项大胆预测,不过在接近年终的时候他认为这一年来 HTML5 的发展远远未达预期,全文内容如下:
在这之前曾有人预测在 2013 年基于 HTML5 的手机销量将达到 10 亿,Facebook 也似乎为其铺好了道路,笔者在年初的时候也曾预言 2012 年将会是 HTML5 起飞的一年,不过现在回头发现 HTML5 的发展并不尽如人意,Mark Zuckerberg 的一句话很好的映证了这一点:“作为 Facebook 公司来说,我们最大的错误就是在 HTML5 上押宝太多!”
以下五点是对于这一年来 HTML5 为什么没有达到高预期的一个解释:
1. 跨平台 HTML5 开发并未起飞
桌面端和移动端 HTML5 之间的分裂还是巨大的,这两者之间没有形成一个统一的开发标准,主要原因就在于以下的这三点差异:
- 电脑键盘与手机、平板键盘之间的差异;
- 两个平台设备的屏幕大小;
- 鼠标与触摸屏操作的差异。
最理想的情况就是针对特定平台进行产品开发,这样开发者就能对应用的外观、感觉和功能等进行相应的个性化设置,从用户体验角度来说这也是极其重 要的。然而很多人对 HTML5 的预期就是 HTML5 应用可以实现跨平台访问,比如说从桌面端访问移动 HTML5 应用。不过从现实情况来看,用户也只能选择一个应用能更好的运行的平台,因为当前的跨平台 HTML5 并不完善。
通常开发者的观念就是说到移动端的时候,HTML5 应用就必须是为移动用户开发的。没有什么比开发者们不愿意将时间多花在跨平台 HTML5 应用的开发上更让人沮丧了,而到最后你才发现其实你的用户是个多平台设备用户,在某一个平台上不能完美体验你的 HTML5 应用的时候,用户就有可能离你远去。
不管怎么说,跨平台 HTML5 开发需要时间、精力和给用户更多的体贴。
2. 人们更习惯于通过应用商店下载应用
为移动设备创建一个带桌面图标的 HTML5 浏览器链接非常容易,但是想改变人们对应用的传统观念还是比较困难。人们往往习惯于被告知去下载某一个应用,用户本能的反应就是通过应用商店去搜索应用, 而占主导地位的苹果和谷歌的应用商店迄今为止还没上线过一款 HTML5 站点应用。
Facebook 创建的通用商店“universal store”提供了原生应用和 HTML5 网页应用供用户选择,在很多人看来这将会成为 Facebook 的商店战胜苹果和谷歌的应用商店的一大有力举措。为了说服更多的开发者投身 HTML5 应用,Facebook 甚至在 W3C 联盟下建立了一个开发者网络,但是到目前为止,它的这一举措还没有显现出足够的吸引力。
3. 混合应用不能依赖移动浏览器
在我的想法中至少要有一款主流主机游戏是使用 WebGL 技术开发或者再版,游戏巨头 EA 就曾发布了 HTML5 版《命令与征服泰伯利亚联盟(Command & Conquer Tiberium Alliances)》,然而最大的问题所在就是作为移动浏览器中的佼佼者 Chrome 和 Safari 都并没有完全支持 HTML5 技术的意向,举个例子来说,主流移动浏览器 Chrome 和 Safari 等就不支持 WebGL 技术,而这是 HTML5 3D 游戏开发的核心技术所在。
跨平台 HTML5 应用的兼容性是一大问题,但是移动浏览器的速度也是制约 HTML5 移动应用发展的因素之一。有报告曾显示 HTML5 在移动浏览器中的访问速度比起桌面端 HTML5 应用的速度要慢上十到七百倍左右,事实研究证明移动浏览器的 HTML5 应用的平均速度要比桌面端低 889 倍。而当前的主流 HTML5 应用大都是图形化应用,受移动网络网速的影响,移动端 HTML5 的用户体验是比较糟糕的。
4. 不同移动设备间的适配问题
在 HTML5 发展的过程中,那些已经建立了一个网站的开发者们就曾经历过很让人头疼的浏览器兼容性和跨平台适配问题。举个例子来说,Gamzee 的一位工程师 Sean Soria 就曾描述过他们在为 Facebook 的 HTML5 博客开发 Skyscraper City 应用的时候所面临的问题:在编写代码的时候他在文档对象模型(DOM)中使用了一个伪 3D 转换 CSS 代码,它能触发大多数移动设备的硬件加速能力,而且这种方法比使用 Canvas 元素表现要好很多,非常不错的一种方法,但是问题就是 Android 手机并不支持。这样的问题还有很多,往往不同设备之间 HTML5 应用所面临的问题和解决方法都不一定是相同的。
基于网页的 WebApp 短期内将遇到发展瓶颈。因为标准化问题和终端设备功能的支持程度,很难在短时间内找到确切的解决方案。
5. HTML5 还不够强大
从我所已经看到的来说,炒作已经导致许多人高估了有多少开发人员喜欢使用 JavaScript 这一现状,JavaScript 用于跨平台开发的强大是毋庸置疑的,但是这样就能证明 JavaScript 是 HTML5 跨平台开发的替代品么?显然不是这样。对于一些较为复杂的应用特别是游戏来说,面向对象和更强大的手写代码往往更受开发者们的欢迎。
所以从上述几点来看,HTML5 在这即将过去的一年的发展远远没达到人们的预期。HTML5 可以说是成为了以 Facebook 为代表的新兴移动互联网一代被高估的替罪羊,如果 HTML5 能代表未来的话,那么它所代表的未来比起我们能想象到的还要远很多,不过现在谈这些还是有点为时尚早,当然这也不是说 HTML5 就没有春天,只是在短期之内还是很难实现的。