拥抱HTML5
发布:2021-11-01 12:19:40 浏览:2171
如果你让我解释什么是HTML5,我可能会说,web开发者的职责已经悄然转变。我会假设你精通HTML(一种标记语言)、CSS(以及它的跨浏览器兼容)和JAVAscript(和它在各浏览器API中的微妙区别)。然后我的话题会转到设计理论、动画、3D服务器技术以及音响工程(译注:指视频音频的播放和摄取)。
沉默片刻之后,你可能想要知道:为什么HTML会包含如此多的技术?并想知道为什么自己当初选择了这一行。HTML5(作为一门专业技术)细分出了很多技术,囊括了截然不同的领域,所以不要烦恼。对HTML、CSS和Javascript有一个坚实的基础,这确保你可以独立工作,进而发展一种其他人不具有的特定知识。也可以说,你对HTML5中某种“非核心”的特定技术的精通会让你在团队和公司中无可替代,这确保你可以独立工作,进而发展一种其他人不具有的特定知识。也可以说,你对HTML中某种“非核心”的特定技术的精通会让你在团队和公司中无可替代。对于许多炫目的新特性,最佳实践还没有确定下来,所以如果你想学一些真正酷的东西(并且成为开发中的明星),是时候下载一个最新浏览器并开始试验了。大部分浏览器厂商都会放出beta版来允许开发者体验最新的技术。五大浏览器都有beta版可供下载。
-
Google Chrome有3个非正式版本: Beta (给开发者) Dev channel (给开发者,有一周内刚加入的新功能). Canary'。
-
苹果的Safari浏览器有一个版本: Webkit ( webkit.org )
-
Opera 有一个Next版本: smashed.by/operadev
-
Firefox有-个nightly版( smashed.y/fndev )和一个叫做Aurora的prbeta的( smashed,by/fadev)
-
最后一个不可忽视的,微软自己发布的IE最新版本(不是nightly版): smashed.by/iedev。
浏览器对新特性的支持正在以一种模块化的节奏发展。一些浏览器厂商 (特别是Google和Mozilla )现在以6到8周一个版本的速度发布新版本,版本号不再像以前那么重要。喜欢尝鲜的开发者可能会喜欢这样的方式。网站会有-个版本,但它对用户不重要。所以,作为Web开发者,你要考虑哪些特性可以最好地讲述你的故事,并且把你的设计转变成活生生的、有呼吸的产品。即使Web技术在进步,我们仍然要考虑一些老 式的浏览器。值得庆幸的是,HTML标准也考虑到了这一点。所以我们不必改变用户的访问路径,也不用增加一份代码就可以开始使用HTML5-这真让 人宽慰。不论你是用什么DOCTYPE,用户的浏览器都会尽它所能解析页面。如果你用一个老式的DOCTYPE加上新的HTML5特性,它仍然可以完全无误地解析。在这一章中,我们不会讨论WebGL、音频和视频、设备API、Web sockets或者svG。我会把它们留给你去探索,因为每一一个话题都可以成为一章。 相反,我们会引导你进入HTML5的世界,告诉你在探索那些高级话题之前你需要知道的一切。
-
我们从哪里来,将到哪里去
HTMLS包括很多东西,直到最近的一次HTML的主要版本为止,我们已经走了很长的一段路。网络超文本应用技术工作小组( WHATWG )定义HTML5为"HTML:灵活的标准”(它去掉了5)。也就是说,HTML是一-种 与版本无关的技术。如前所述,浏览器厂商们按照它们自己的喜好去选择实现某些功能,这就是为什么浏览器对HTML的支持各不相同。
-
WHATWG、W3C和互联网公司
你可能听说过万维网联盟( W3C ),也在前几段文字中看到过WHATWG这个名词。WHATWG 是-个由苹果公司、Mozilla 和Opera的代表所组成的工作小组,他们担心W3C缺少对于HTML的开发,因此他们决定成立自己的工作小组。
WHATWG把W3C的很多工作成果直接拿来用了,而W3C的许可证也确实授权如此,因此W3C规范的许可证中声明:“你被授权使用、复制、以及改进这些规范文档。”
W3C确实共享出这些规范,不过这些规范文档更多的不是创建标准,而是提出建议。并且由于W3C是由所有的大型电脑公司和浏览器厂商们共同成立的,它致力于开放标准,因此它不会偏袒任何一家公司。因此,作为一个Web开发人员,你可以肯定的是,所有HTML的新进展(特别是那些与WEB应用相关的)一定会被浏览器厂商们所实现,因为这是他们可观的收入来源之一。同时,随着时间的推移,这些进展也一定会被W3C所认可。
这个奇怪的关系导致了那些需要许可费或者有着所有权限制的技术不被大多数人看好。浏览器之间的竞争从一开始就是那么的激烈。
1.2了解应该采用哪些技术
-个当代的Web开发人员必须了解他们的用户,为自己的网站选择正确的技术,并且知道如果某项功能不被用户的浏览器所支持时会出现怎样的效果。
天知道某一个特定的功能是否被广泛地支持,所以你应该感谢When Canl selsmashed. b/wai'。这个网页列举了哪些功能是被主流的电脑浏览器和移动终端浏览器的近期版本所支持,以及哪些功能将被未来的版本所支持。它是可搜索的,甚至可以与Google Analytics 结合,让你知道你的用户正它是可搜索的,甚至可以与Google Analytics 结合,让你知道你的用户正之旅。
1.3文档类型
你是否还记得HTML4.01(或者XHTML)完整的文档类型声明?反正我是不记得。那么,让我们看一下HTML5的文档类型。
<!doctype html>
就是仅仅如此,它可以是大写的,也可以是小写的。这就是你把浏览器设置成标准模式所需要的全部内容。你会奇怪为什么我们还需要一直复制粘贴HTML文档的头部内容。当然,多年来我们一直被HTML的一堆所谓重要的头部标签搞得非常纠结。现在我们看一下在HTML5中还有什么被简化了。
1.4META字符集
<meta http-equiv= "Content -Type" content= ”text/html"; charset="utf-8">噢,这是多么复杂!这个meta标签非常重要并且要出现在title标签前面,以确保浏览器正确地设置编码。幸运的是,在HTML5中,它被简化成容易记忆的一小段。<meta charset="utf-8">一些 XML解析器在处理不闭合的标签时会有麻烦,这就是为什么有些Web开发人员会比较倾向于使用自闭合的标签(如XHTML的风格)。不过在这里,这完全取决于你自己,但是我们建议让标签不必闭合。