HTML5笔记(2) - 为什么需要HTML5
上篇:HTML5笔记(1) - HTML5的定义
前言
上学时导师教导过我们,学习新技术、新标准规范时,要经常针对细节问自己:这部分为什么会这么定义;坚持思考,某一天你才有可能成为规则制定者中的一员。所以我“为赋新词强说愁”,为思考而思考:为什么会有HTML5。
预感到下文可能会有点罗嗦,就先把两种提法列出来,再细说之:
- HTML5是互联网发展的必然产物,是“网页(Web Page)”向“网应用(Web Application)”升级的工具
- HTML5不是用户应用的迫切需求,更多是厂商们试图改变软件生态格局的战略需求
1. 背景
一般而言,有HTML4就会有HTML5(尽管HTML2之后的HTML3并未真正发布就终止了,取而代之的是HTML3.2),就像iPhone5紧随iPhone4而来。
最早的HTML草案于1993年提出,几乎是在WWW的诞生那天就一起产生了。HTML4发布于1997年,见证了2000年互联网泡沫的产生和破灭。HTML5将于15年之后发布,不知是否在冥冥之中也意味着第二次泡沫——移动互联网的泡沫。HTML4的生命力如此顽强,应用如此流行,技术上得益于它与JavaScript、AJAX+JSON等技术的良好结合,也为HTML5的出现打下了坚实的基础。
所以,HTML5的出现是因为开发者们(注意不一定是用户)已经不再满足于HTML4所能提供的那些功能集了。说得浅显一点,就如同互联网的初期,人们上网只能看到没有任何格式的纯文本,无图无真相啊——于是网页便有了图,并且一度流行各种滚动的图(例如在HTML5中被废弃掉的Marquee);不能光看贴不回帖啊——于是有了各种表单来提交用户数据;网页不能不动啊,于是便有了JavaScript来控制网页元素...随着时间的推移,人们觉得,你不能总是“网页(Web Page)”啊,你还得是“网应用(Web App)”,于是便有了HTML5。
HTML5其实不是全新的技术,从某种意义而言,HTML5其实就是“扩展的HTML4 + 若干应用接口”。
2. 谁需要HTML5?
或者换一个角度来提问:谁需要HTML5?不论答案是什么,都不可能是用户,因为用户只关心功能和体验,没有哪个用户会真正关心他/她玩的开心农场到底是用HTML5还是用Flash,甚至是用汇编语言来写的。
按照惯常的说法,谷歌、苹果等这些大公司最需要HTML5,它们同时也是最积极的倡导者——虽然目的各不相同。而相同的目的之一是借HTML5为据点,以图蚕食它们最大的共同敌人——微软帝国——的桌面领地,因为微软围绕自己占有绝对统治地位的操作系统份额,以及全面的商用软件所建立起来的软硬件(Wintel)生态环境是如此成熟,几乎已经不太可能成为正面战场了。
谷歌以网络和搜索起家,其核心技术从一开始就都在“云”端:从搜索、Gmail到Google Doc,到它为开发者们提供的数不清的API编程接口(例如Maps)。按照谷歌的设想,绝大多数时间用户只需要一个带有浏览器的互联网接入终端,就能满足其大部分日常需求,Chrome OS就是符合这一战略指导的产物。苹果同样有自己一套成熟的软硬件生态系统,并且创造了应用商店这一全新的商业模式,基于封闭硬件系统的“应用+浏览器”模式提供了几乎完美的用户体验,所以HTML5也是合理之选,更何况后者还能顺带帮忙剔除Adobe Flash这颗眼中钉——谁会允许对手在自己的地盘上开一个不受控制的店中店?
顺便提一下,若没有苹果前几年对浏览器渲染引擎WebKit(连这个名字也是苹果起的)的大规模代码重构,WebKit未必会如此受开发者们推崇。
即便是微软,也在近期发布的IE9中宣布了对W3C标准规范的隆重回归,同时号召用户弃用饱受诟病的IE6。IE浏览器毕竟占有最大的市场份额,微软毕竟还有Silverlight,其背后毕竟还有微软帝国,所以支持HTML5显然利大于弊。
浏览器厂商们也会欢迎HTML5,新技术总是带来新的商业机会——否则你让它们的首页如何持续更新?更重要的是,这几乎是它们能够取代共同敌人——份额排名第一的微软IE——的唯一机会。试想如果W3C宣布HTML4就是最终版本,各大浏览器厂商还有什么好玩的吗?正是不断升级更新的规范和标准将它们约束在同一个跑道上赛跑,不然分裂和异化很快就会出现——或许情况会比众多的Linux和Android分支还要恶劣很多。
例如:苹果会针对设备提供陀螺仪接口,谷歌会提供语音或地图接口,FireFox提供Add-on插件接口...实际上现在开发者们就已经不得不面对一堆“-webkit-”或“-moz-”开头的私有CSS样式标签了。
应用开发者们也会喜欢,尤其是随着移动互联时代的带来,潜在的几十亿移动用户带来了软件行业重新洗牌的好机会。试想一下,假如哪天一个网页应用都能达到与本地应用相近的功能甚至体验,那么Sun的桌面遗愿“写一次,到处运行(write once, run everywhere)”的这一跨平台梦想不就实现了吗?如果一个基于HTML5的“愤怒的小鸟”能够平滑运行于iOS、Android、Windows Phone 7,甚至Symbian等移动平台之上,那开发者们投入产出比该有多大啊。
欢迎HTML5的名单还能列出一大串,华尔街投资者们、媒体、培训机构、出版社、广告主、互联网站...每次只要有互联网新技术出现,这些人都能从中分得一杯羹,既然有共同利益,为何不一起鼓噪呢?
什么?Adobe不喜欢?也许吧,不过谁在乎它呢...或许它会为我们带来一款超越Dreamweaver的HTML5+CSS3+JavaScript开发套件。
唯一不关心的只有用户,虽然所有这一切,争夺的都是用户。(作为一个普通的用户,只要你细心观察,就会发现几乎行业里的每个人都对你口袋里的钱虎视眈眈...)
3. 为什么需要HTML5
说了半天仿佛这里头有一个天大的阴谋,其实以上阐述恰恰说明了一个问题:HTML5作为解决问题的一种新技术,它是一种符合大多数人期望和利益的。
互联网就像一个标准电网,不同规格的软硬件要想接入这个标准电网,只能通过浏览器这个转化插头来实现。W3C是个制定互联网规范的组织,更是一个由众多商业成员(包括众多浏览器厂商)组成的俱乐部,所有提议和争论最终都得经过各个成员的共同协商。所以HTML5是一种妥协的技术——但仍然是一个进步的技术。生产者们迫切需要一种新技术来解决当前的诸多问题,HTML5是其中一个选择,它可能不是最好,却是最适合这个时期的,能满足利益最大化的必然之选。
是否可以这么认为:HTML5对移动互联网的意义可能更大于它对传统PC桌面的意义。首先因为这是一个新兴的持续增长的“空白”领域,新的参与者们希望通过新技术来与老巨头们一争高下;其次移动设备上的操作系统比桌面时代更多,而且暂时还看不到那一家会获得像Windows那样的桌面统治地位,HTML5看似满足了人们write once, run everywhere的奢求。
从争夺用户的角度而言,HTML5的优势在于快速部署和简单升级——无论是对客户端还是云端(现在不流行说“服务器”端了)。试想你有以下设备:一个Windows台式机,一台苹果笔记本,一只Android手机,一个Kindle阅读器,还有一部Playbook平板(假设是某人送给你的礼物吧),家里还有一台Sony刚推出的Google TV,甚至Adobe烤炉什么的...并且有一个你需要在所有设备上使用的杀手级应用(我不知道会是什么,但我相信所有厂商们都在琢磨这事),你会受得了一个一个去安装吗?HTML5的好处就是你只需要打开浏览器,点击运行即可。
(或许你会对此嗤之以鼻:哪个SB会同时买那么设备?那你可能会伤到很多人,可能包括未来的自己...)
这大概就是厂商和媒体们都在描绘的美好蓝图。有时候我在想,在这个生产过剩的时代,各种应用程序(App)实在太多了,很多时候不是用户需要应用,而是应用需要用户。我们都知道,在互联网经济里,只有点击才能产生利润,而在海量的应用程序面前,“点击-运行”和“点击-下载-安装-运行”对于如何吸引用户而言,显然是两种截然不同的体验。所以才需要HTML5来提供了这么一种可能:快速注意和轻易尝试。
简而言之,HTML5能最大程度的“诱使”用户去尝试甚至喜欢你的产品。
我还想到了媒体出版领域,数字电子化对传统的媒体和出版商带来了不可避免的强大冲击,与其负隅顽抗直至壮烈牺牲,还不如早日投身新技术,借助HTML5来完成出版发行的华丽转身,好处何尝不是多多:降低纸质成本、传统发行渠道成本、平面内容的多媒体化、更好的视频广告效果、更准确的广告投放、应用内付费、即时搜索、即时用户反馈、海量用户数据...最后这一点最令人垂涎吧?所以相对于呼声最高的HTML5游戏,我个人更希望看到HTML5媒体。
4. HTML5的优势
我一直觉得,在技术领域,任何问题都可能是问题,唯独技术本身不是问题。
这话有些拗口,但我们回头看看不远的历史,随便都能找到一些案例。例如摩托罗拉主导的“铱星计划”,就算是放在今天来看,技术上也是十分宏伟的一个项目——但是除了技术它几乎什么都缺,时机不对,既缺支持者又缺使用者。在看看上个世纪末的ATM交换技术,到现在的IPv6,在技术上都比IPv4先进,可是都很难甚至无法将后者完全取代。
相对而言,HTML5的优势几乎是天然的。
在技术上,HTML技术已历经了近20年的磨砺和完善,HTML5又继承了前任HTML4、甚至是Flash的广大开发人员,及其丰富的技术遗产,很有点水到渠成的意思。最重要的是,HTML5是基于成熟技术上的演进,而不是剧烈变革甚至推倒重来——它的另外一个版本XHTML2险些干了这样的蠢事,现在已经寿终正寝了。
在时间上,如今正好借着互联网热潮再次兴起的天时,利用移动互联网的“泡沫”(泡沫在这里不是贬义词,而是代表着人气、热情、资本...等正面因素)来迅速取得流行和发展。
在厂商方面,几乎是一边倒的支持(跟着喊喊口号的也算),甚至看似不太相关的行业也来凑热闹(听说一些博彩公司已经在招HTML5开发人员了)。正是由于HTML5的开放性,才使得这些即使在W3C会议桌上都互不相让的竞争者、甚至死对头坐到了一起,形成一个相互竞争相互促进的良性循环。
在开发者方面,因为有了HTML4的积累,程序员们需要更新的知识并不多,真正要理解的反而一些新的理念和模式。另外堪比HTML4时代的海量的示例代码很快就会出现,学习门槛已经不能再低了。
当然,刚刚起步的HTML5也不可避免有很多问题,另文再谈。
5. 小结
又回到最初的两个观点了(不管怎样,用户不关心这些):
- HTML5是互联网发展的必然产物,是“网页(Web Page)”向“网应用(Web Application)”升级的工具
- HTML5不是用户应用的迫切需求,更多是厂商们试图改变软件生态格局的战略需求
或许还有其它观点,但谁说它们必须是对立的,答案只能有一个呢?伟人说过:我思考我就存在,更何况我还写了小结...