HTML5笔记之为什么需要HTML5

开发
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不是用户应用的迫切需求,更多是厂商们试图改变软件生态格局的战略需求。

或还有其它观点,但谁说它们必须是对立的,答案只能有一个呢?

【编辑推荐】

  1. HTML5笔记之HTML5的定义
  2. 浅谈声明和定义区别
  3. VC++获得当前系统时间的几种方案
  4. 再谈C语言的模块化设计 
责任编辑:于铁 来源: 博客园
相关推荐

2011-05-13 17:36:05

HTML

2023-03-16 09:00:00

HTML5HTML语言

2013-01-24 10:26:04

HTML5HTML 5HTML5的未来

2011-03-23 09:33:51

HTML 5

2013-10-21 15:24:49

html5游戏

2013-09-11 10:57:58

HTML5

2015-03-17 10:13:52

HTML5什么鬼

2011-05-12 15:42:16

HTML5

2017-01-03 18:09:33

HTML5本地存储Web

2011-01-14 17:53:33

HTML5cssweb

2013-03-22 08:59:57

HTML5移动应用Web App

2014-03-20 10:50:44

HTML5 定位技术

2015-07-24 17:08:24

2014-12-30 17:13:51

HTML5

2013-01-18 10:59:44

IBMdW

2011-11-11 15:54:36

AdobeHTML5

2014-10-21 17:34:11

HTML5移动设计

2012-09-18 09:49:17

HTML5Intel

2013-01-30 15:35:47

AdobeHTML5

2011-02-23 14:57:41

webweb开发HTML
点赞
收藏

51CTO技术栈公众号