第6章 SWT概述清华大学出版社.docx
《第6章 SWT概述清华大学出版社.docx》由会员分享,可在线阅读,更多相关《第6章 SWT概述清华大学出版社.docx(21页珍藏版)》请在冰豆网上搜索。
![第6章 SWT概述清华大学出版社.docx](https://file1.bdocx.com/fileroot1/2023-4/25/445729d5-a8ce-427f-a3b4-68e1054755cc/445729d5-a8ce-427f-a3b4-68e1054755cc1.gif)
第6章SWT概述清华大学出版社
第1章HTML5标准
HTML5是下一代HTML的标准,目前仍然处于发展阶段。
经过了Web2.0时代,基于互联网的应用已经越来越丰富,同时也对互联网应用提出了更高的要求。
今天,技术人员、设计者、互联网爱好者都在热议HTML5,HTML5俨然已经成为互联网领域最热门的词语。
与HTML4相比,HTML5的发展有着革命性的进步。
基于良好的设计理念,HTML5不但增加了很多新功能,而且对于涉及的每一个细节都有着明确的规定。
HTML5正在引领时代的潮流,必将开创互联网的新时代。
1.1HTML5介绍
在学习HTML5之前,我们先介绍一下HTML5的来龙去脉。
1.1.1HTML5的历史背景
HTML的出现由来已久。
1993年,HTML首次由因特网工程任务组(IETF)以因特网草案的形式发布。
接着,HTML的发展一路高歌:
1995年发布了2.0版,1996年发布了3.2版,1997年发布了4.0版,1999年12月发布了4.01版。
从第三个版本(3.2版)开始,W3C(万维网联盟)开始接手,并负责后续版本的制定工作。
在HTML4.01之后,W3C的认识发生了倒退,把发展HTML放在了次要地位,而把主要注意力转移到了XML和XHTML之上。
由于当时正值CSS崛起,设计者们对于XHTML的发展深信不疑。
但随着互联网的发展,HTML迫切需要增加一些新的功能,制定新的规范。
为了能继续深入发展HTML规范,在2004年,一些浏览器厂商联合成立了WHATWG(Web超文本技术工作小组),以推动HTML5规范。
最初,WHATWG的工作内容包含两个部分:
WebForms2.0和WebApps1.0。
它们都是对HTML的发展,并被纳入HTML5的规范之中。
Web2.0也是在那个时候提出来的。
2006年,W3C组建了新HTML的工作组,非常明智地采纳了WHATWG的意见,于2008年发布了HTML5的工作草案。
2009年W3C停止了对XHTML2的工作。
紧接着,HTML5的草案不断地更新。
2010年,HTML5开始进入众多开发者的视野。
在HTML5规范还没定稿的情况下,各大浏览器厂商就已经按捺不住了,纷纷参与到规范的制定中来,并对自己旗下的产品进行升级以支持HTML5的新功能。
HTML5规范涉及的内容非常多,众多浏览器厂商的参与使得可以及时获得一些实验性的反馈,HTML5规范也得以持续的完善。
与此同时,IETF制定相关通信协议。
HTML5就是以这种方式快速地融入到Web开发平台当中。
1.1.2HTML5的现状
今天,几乎所有最新版的浏览器都已经在不同程度上支持HTML5,开发者也可以尝试开发基于HTML5的新功能了。
1.两个发展的时间点
HTML5规范仍然处于草案更新之中,但是最新的草案已经相对比较完备了。
HTML规范的发布有两个时间点,如图1-1所示。
图1-1HTML5规范的发布时间点
第一个时间点是2012年,目标是发布“候选推荐版”;第二个时间点是2022年,目标是发布“计划推荐版”。
也许你会认为,既然要到2022年,那就等十年再说吧。
这是非常错误的想法,你需要先明白这两个时间点的真正含义再下结论。
首先是2012年,这是最重要的时间点,因为这一年要发布候选推荐版。
一个规范如果要成为候选推荐标准(REC),它需要具备百分之百的可实施性,只有成功通过上万项的测试案例后才能验证这一点。
据保守估计,整个规范可能需要进行2万项测试。
其次是2022年,这一年要发布计划推荐版。
那个时候,至少会有两大浏览器会完全支持HTML5的所有特性。
如果考虑到HTML5标准的规模,这个日期还是太乐观了。
毕竟之前发布的HTML4.01已经经过十多年都没能实现这一目标。
按照此说法,在两大浏览器支持所有的功能之前,HTML5的规范是没有最终定稿的。
如果你真的等十年之后再来学习,就悔之晚矣。
2.目前发展状况
首先,各大浏览器都已经积极支持HTML5的新功能。
各大浏览器厂商不仅积极地支持HTML5规范,而且还参与到HTML5规范的制定之中。
真正重要的一小部分HTML5新特性已经得到浏览器的支持。
所有浏览器对HTML5的支持情况,都会在一周之内发生变化,因为浏览器制作厂商的创新速度也非常快。
其次,目前已经存在很多基于HTML5的应用了。
有些网站明确表示支持HTML5,并提示用户升级浏览器,很多网络应用也已经为HTML5的到来做了充分的准备。
2012年是HTML5真正发力的开始,而且对于移动应用优势非常明显。
3.HTML5的开发组织
HTML5最初是由WHATWG推动开发的,到了今天,已经有三个重要的组织参与进来。
❑WHATWG:
由来自Apple、Mozilla、Opera、Google等浏览器厂商的人员组成,成立于2004年。
负责开发HTML和Web应用API,并提供了开放式的合作。
❑W3C:
W3C下辖的HTML工作组负责发布HTML5规范。
❑IETF:
因特网工程任务组下辖的HTTP等负责Internet协议的团队。
其中HTML5定义的一个新功能WebSocketAPI就依赖于新的WebSocket协议,这个协议正是由IETF开发的。
1.1.3良好的设计理念
回顾HTML的发展历程,曾经出现了XHTML规范,但没有得到较好的发展。
特别是XHTML2,对语法解析过于严格,严重地违背了著名的Postel法则:
“发送时要保守;接收时要开放”。
根据Postel法则,对自己发送出去的东西要严格要求,而对接收的东西则要放松限制。
HTML5的设计理念就遵循了这个法则,同时HTML5也强调了其兼容性、实用性和互操作性。
1.化繁为简
HTML5为了做到尽可能简化,避免了一些不必要的复杂设计。
例如,DOCTYPE的改进:
在过去的HTML版本中,第一行的DOCTYPE过于冗长,没有几个人能记得住,在实际的Web开发中也没有什么意义。
而在HTML5中就非常简单:
DOCTYPEhtml>
HTML5改进的方面如下。
❑简化了DOCTYPE。
❑简化了字符集声明。
❑以浏览器的原生能力替代脚本代码的实现。
❑简单而强大的HTML5API。
为了让一切变得简单,HTML5可谓下足了功夫。
为了避免造成误解,HTML5对每一个细节都有着非常明确的规范说明,不允许有任何的歧义和模糊出现。
2.向下兼容
遵循Postel法则,HTML5有着很强的兼容能力。
在这方面,HTML5没有颠覆性的革新,允许存在不严谨的写法,例如,一些标签的属性值没有使用引号括起来;标签属性中包含大写字母;有的标签没有闭合等。
然而这些不严谨的错误处理方案,在HTML5的规范中都有着明确的规定,也希望未来在浏览器中有一致的支持。
当然对于Web开发者来说,还是严谨一点好。
对于HTML5的一些新特性,如果旧的浏览器不支持,也不会影响页面的显示。
在HTML5的规范中,也考虑了这方面的内容。
如在HTML5中input标签的type属性增加了很多类型,当浏览器不支持这些类型时,默认会将其视为text,实现了优雅的降级。
3.支持合理存在的内容
HTML5的设计者们花费了大量的精力来研究通用的行为。
例如,Google分析了上百万的页面,从中提取了DIV标签的ID名称。
例如很多人都是这样标记导航区域的:
//导航区域内容
例如,有很多用户都需要实现一个新的功能,HTML5规范设计者们会研究这种需求,并纳入规范;HTML5规范了一套错误处理机制,以便当Web开发者写了不够严谨的代码时,接纳这种不严谨的做法。
对于用户而言,使用不同的浏览器,常常会看到不同的页面效果,甚至有些功能根本不能使用;Web开发者也伤透脑筋,为了使页面能在多个浏览器中正常使用,不得不写一些hack,徒增了Web开发的复杂度。