HTML5 标准终定稿, 能否引领下一波技术热潮?
印象里第一次接触到 HTML5 还是在 Steve Jobs 那里,他坚持在 iOS 上面放弃对 Flash 的支持,力推 HTML5。在当时 Adobe 的 Flash Player 统治浏览器播放器的年代,这种做法想必也就只有 Apple 有勇气做得出来。Apple 用 HTML5 想要打破 Flash 打造的一个封闭生态圈,到现在大家也都有目共睹,Adobe 在由 Apple 引领的这次移动浪潮之中被远远抛在后面;移动端的播放器不再是 Adobe 统治的天下,使用 HTML5 的 <audio> 和 <video> 标签更加方便了多媒体的开发。伴随着 Google 推出自家浏览器 chrome 以及开源版本的 chromium,HTML5 的特性一致在被有力的支持和推动下发展。而现在 HTML5 标准的定稿,势必会是互联网的一个里程碑。
2007 年 W3C 立项 HTML5,到 2014 年 10 月底正式定稿,时间长达 8 年。接下来 HTML5 将真正开始颠覆 Native 原生 App 世界这样的论断是否还是危言耸听呢?我们拭目以待。
接下来我们来聊一聊 HTML5 的诞生:
W3C 在 1999 年发布了 HTML4 之后, Web 世界迅猛发展。人们一度认为 HTML 标准不再需要升级了。直到 2007 年 W3C 从一家致力于 Web App 开发的组织 WHATWG 接手了相关工作,重新发展 HTML5. HTML5 的发展,有用户需求的推动,有技术开发者的需求推动,更有巨大商业了利益在推动。
随着硬件的发展以及网络带宽的大幅改善,人们已经不再满足于能否打开一个基本的页面浏览信息,更丰富,更流畅的多媒体体验需求变得日益强烈。以前开个电影、视频,需要买个盘回去用光驱看;以前玩个游戏得买个盘安装然后玩,随着网络的改善和已经的提升,打开网站就可以播放流畅的 vod 视频,打开网页就可以玩流畅的页游(网页游戏)。在这一段时间里,HTML 标准并没有跟得上时代的脚步,Flash 抓住了这个机会,开始在互联网上变成了准标准。视频播放器以及网页游戏,都依赖 Flash 进行开发,Flash 提供的体验是 HTML 当时的标准所提供不了的。整个互联网事实上变成了微软(PC端操作系统) + Flash(网页端)统治了。
这个时候 Google 和 Apple 坐不住了。PC操作系统端很难有突破,因此 Web 浏览器被寄予厚望。 Google 大力赞助 Mozilla 的 Firefox 但并没有对 IE 主导的地位产生影响;收购了 Youtube 后发现命脉掌握在 Adobe 手里,非常不高兴。而且 Google 还要给 IE 的搜索框以及 Adobe 的 FLV 缴纳价格不菲的费用。因此也催生了 Web 标准的下一代 HTML5。
关注 HTML5 的朋友,想必都还记得 Facebook 放弃 HTML5 选择 Native 原生 App 的事情。这里有两个事情不得不提,第一个 HTML5 只是一个标准,就如同 C++ 一样, VC++ 和 GCC++ 在一些标准的支持上面和实现上面就存在不少差异,不同的浏览器厂商对于标准的支持力度也不一样,力度最大的应该就是 Apple 的 Safari 和 Google 的 chrome 了。尽管如此,在 Android 上,默认采用的 Webview 并不如 Google 大力推进的 chrome/chromium 支持的更好,Apple 也在 App 开发端限制使用第三方浏览器内核仅开放有限的接口调用,同样阻碍了采用 HTML5 开发的 Web App 的体验。尽管如此,我们仍旧看到了 HTML5 的潜力:
1.离线存储 解决断网情况下无法继续使用的问题
2.流媒体 audio video
3.游戏 webgl canvas
4.更丰富的表单,js线程,socket,以及css3
HTML5 新增的标签header、footer、article等优化了搜索引擎的搜索,并且在无障碍体验方面做了不少支持。HTML5 在流媒体和游戏方面成功遏制了 Flash 的发展。
在 HTML5 标准升级的过程中,Google 和 Apple 不仅大力支持和宣传 HTML5,并且在浏览器方面也做了不少工作。Apple 大力发展 Webkit,并且把 Safari 带到了 Windows 平台; Google 大力赞助 Mozilla,而后开发 V8 引擎,进而推出 chrome 浏览器。这个时候 Web 标准的发展步伐在显著提升。由于 chrome, Safari, Firefox 都在 Web 标准上给予非常多的支持,在 chrome 推出前,Web 开发者最爱的浏览器就是 Firefox 不单单是因为 Firebug 这个强大的辅助开发工具,更多的是因为 Firefox 更加标准,对标准的支持更好。而这个时候反观 IE 已经明显还没有反过神来, IE 7 8 9 10 一系列不完整支持标准又互不兼容的版本,彻底伤透了开发者的心。
由于 HTML5 标准,开发者开发的时候,完全可以不再需要单独一个 Flash 开发者,或兼职 Flash 开发,并且可以大大降低 Flash 引发的安全问题以及 Flash 插件的崩溃问题。这样一来开发者的开发体验更爽了,用户的浏览体验也上升了。
随着以 Apple 的 iOS 和 Google 的 Android 为首的新一代智能手机平台的到来,智能手机真的智能起来了。因为 iOS 和 Android 就是按照现代操作系统的理念来设计的,并不是按照嵌入式系统来设计的,这样一来就更加容易和 PC 上面的体验达成一致,而且功能和 PC 一样强大。由此催生的移动互联网的热潮,一波又一波功能强大的 App 丰富了平台的体验,Apple 的 AppStore 和 Google 的 GooglePlay 成为开发者最热衷的平台,在这里没多长时间就出现用户量千万甚至过亿的产品,这些在 PC 端需要积累十几年时间才能达到。
HTML5 的跨平台优势在移动互联网时代进一步显现。HTML5 是唯一一个通吃 PC, MAC, iPhone, iPad, Android, Windows Phone 等的跨平台语言。如果 HTML5 已经可以满足功能和性能的需求,那么一个懂 HTML5, CSS, Javascript 的开发者就可以很快推出不用跨平台编译的跨平台 App,而且版本迭代会更快。在当下这样的需求不能满足的情况下,一些跨平台的工具给了我们另一种选择的尝试。PhoneGap 就是其中非常知名的一个。Adobe 在看到了 PhoneGap 有可能让自己重振江湖的机会,就把 PhoneGap 收购了。但后来发现 PhoneGap 里面问题不少,而且开源的 PhoneGap 无法让 Adobe 的 Flash 那样获得商业利益,就把 PhoneGap 捐给了 Apache。
开放注定是互联网的未来。
即使如 Google 和 Apple 营造的 App 生态圈也一样,在庞大的互联网里面,TA 们只是一个小圈子。HTML5 就是这个开放的标准,打破巨头的垄断。 Facebook 为什么采用 HTML5 试水自己的 App 是不想被 Apple 和 Google 的生态圈所禁锢,不想被 iOS 和 Android 牵着鼻子走。话说回来,谁不是呢?
那么曾经的功能不健全的和巨头支持欠佳的 HTML5 现在定稿之后,是否真的会引发下一波技术浪潮呢?
首先从硬件方面来说,随着 Apple iPhone6 的发布,硬件性能的提升,已经抹平了 HTML5 的性能劣势。 Apple 和 Google 的策略也在发生变化,在 2013年底 Google 发布的 Android 4.4 内置的 Webview 已经不再是 Android Webkit 了,而是 chromium。2012 年的 iPhone5 上面的 HTML5 表现已经令人满意,Safari 独家的 Javascript 加速引擎 Nitro 已经不再那么重要。而且在 iOS8.0 发布后,Apple 还取消了第三方程序调用 Nitro 的限制,现在任意浏览器或应用调用 iOS 的 UIWebview 都可以利用 Nitro 加速。两大移动巨头有意或无意的改变,让 HTML5 再说手机平台上面的发展不再受限。
跨平台在多屏时代给开发者非常痛苦的体验,人们都期待当年 Java 的一次编译处处运行的理想情况。 HTML5 目前正在扮演一个开发者救星的角色。
并且采用开放标准的好处多多,比如入口更多、导入流量更容易,超级 App (微信朋友圈)、搜索引擎(可以直接搜索应用内部关键词,这个一直是 Native App 的弊端)、应用市场、浏览器,而原生 Native App 就只能是 AppStore。
好了以上就是写在 HTML5 定稿的一些感受和猜想,愿此文可以给大家一些启示或帮助。