HTML5 人物志 – 布鲁斯·劳森

阅读意大利语翻译

HTML5 需要发言人来推动其发展。有很多人承担了这个角色,而我们在 Mozilla 认为,通过一系列访谈和短视频向大家介绍其中的一些人是一个好主意。形式很简单——我们向专家们提出 10 个问题,然后进行简短的视频访谈,让他们自我介绍并详细阐述一些问题的答案。

fowd-london-18-19.05.2010_5761第一个要介绍的人物是 Opera 的 布鲁斯·劳森,他是《HTML5 入门》一书的合著者,也是 HTML5 Doctor 的策展人之一。

布鲁斯在英格兰某个较为偏僻的地区在家工作,如果你还没有机会听过他的演讲,一定要去看看。此外,尽管他对俗气的摄像头特效有着奇怪的爱好,但他确实非常了解自己的领域,而且还是个非常有趣的人。

你可以在 Twitter 上找到布鲁斯,他的用户名是 @brucel

视频访谈

在 YouTube 上观看视频 或从 Archive.org 下载,格式为 WebM (45MB)OGG (70 MB)MP4 (70 MB)

关于 HTML5 的十个问题,针对布鲁斯·劳森

1) 在你看来,HTML5 是什么?它对整个 Web 开发意味着什么?

它是 Web 应用的语言:它使编写应用更加健壮、更加互操作,并扩展了浏览器的功能,使 Web 能够更接近原生应用。

2) 你是如何参与到 HTML5 世界中的?你的背景是什么?更重要的是,是什么在驱动着你?

我的背景是可访问性和编写标记语言。因此,参与 Web 新语言的开发太令人兴奋了,我无法拒绝。而且,由于 Opera(我的雇主)与 HTML5 的起源密切相关,说服我的老板让我抽出时间参与进来很容易!

3) 你认为最令人兴奋的新技术是什么?

当然,是 HTML5——还有 DAP(“设备 API 和策略工作组”)。这套令人兴奋的规范通过指定允许访问设备功能(如摄像头、通讯录和日历)的 API 来进一步扩展 Web 的功能——就像地理位置信息为浏览器提供对设备 GPS 功能的访问一样。与 HTML5 一样,DAP 正在调整已经过测试的现有专有 API,其他制造商也承诺支持这些规范。

4) 你是《HTML5 入门》一书的合著者——编写 HTML5 书籍最令人沮丧的部分是什么?HTML5 不还是一个不断变化的目标吗?

除了纸质出版背后的那种古怪的过时流程(所有内容都必须以 Microsoft Word 格式提交!)之外,最困难的部分是规范不断变化的事实。关于视频的章节刚刚校对和索引完毕,WebM 格式就被宣布了,我们不得不重新编写。但我们非常确定,大多数准备使用的功能都相当稳定——而且,在一本简短的入门书籍中,我们本来也不打算涵盖那些更深奥的领域。

5) 你一直在提倡使用“NEWT”一词而不是谈论 HTML5,这是什么意思?为什么不将 HTML5 作为总称?

客户和记者会将“HTML5”理解为 CSS 3/在 iThings 上运行的视频/支持地理位置的应用程序。这是新的“Web 2.0”。但作为从业者,我们需要理清我们的术语。不存在 HTML5 图像过渡,就像不存在 CSS 语义一样——而说存在则表明你没有收到 2001 年关于分离样式和内容的备忘录。

如果我们需要一个总称来包含 DAP、CSS 3、HTML5、地理位置信息、SVG、WebGL,那么就称之为开放式 Web 堆栈。但是,因为人们似乎喜欢易于发音的首字母缩写词和可爱的徽标,所以我提出了 NEWT 作为一种半开玩笑的方式来强调我看到的术语滥用现象。

6) 在你看来,HTML5 主流采用的最大障碍是什么?

开发人员的无知:“我无法使用它,因为它还没有完成”和“我无法使用它,因为我仍然需要支持 IE6”是主要的绊脚石。“它还没有完成”这句话最让我恼火。也许我们应该停止使用英语,因为它“还没有完成”,转而使用法语,因为法语显然在 1799 年就完成了。

然后是 IE6 的谬误。HTML5 Shim 允许你在 IE6 中为 HTML5 元素设置样式,只要你有 JavaScript 即可。如果访客使用 IE6 并关闭了 JS,那么他们在整个 Web 上的体验都会很糟糕,而你的网站也不会变得更糟。

当然,也没有法律规定你 *必须* 使用 HTML5;它实际上是为 Web 应用而设计的。HTML4 和 XHTML 1 仍然可以很好地用于文档。

7) 目前有很多修复方法可以使 HTML5 在旧版浏览器和 IE6 上优雅降级。例如,如果你查看 HTML5 样板文件,这似乎需要很多工作以及额外的代码和文件。值得吗?你对所谓的“polyfill”有什么看法?

你真正需要的只是 Remy 的 HTML5 Shim,这样你就可以为你的新 HTML5 元素设置样式。根据你的项目,你可以选择单独的 polyfill。这需要很多工作吗?也许吧——但在旧版浏览器中使用预先编写的 polyfill 来模拟 WebSockets 是否比从头开始编写该功能并在 IE6 到 8 中使其工作更难?

Polyfill 带有内置的过时性。它们仅适用于旧版浏览器,并且根据定义,这些浏览器的安装数量正在减少。较新的浏览器甚至都不知道它们的存在。这并不漂亮,但功能检测和 polyfill 比浏览器嗅探或阻止用户更好。

8) HTML5 建议和规范中是否有让你感到困扰的地方?它们是否正在朝着你不同意的方向发展?

我希望很久以前就指定了 canvas 的可访问性方面,这样它们现在就能在浏览器中使用了。人们已经滥用 canvas 来制作用户界面,我认为这将是最大的问题。我还认为,你不能在人名周围使用 CITE 标记很愚蠢,这是少数几个与 HTML4 不兼容的实例之一。

9) 如果我想学习 HTML5,你认为最好的起点在哪里?

有一本很棒的书介绍了 HTML5。标题我一时想不起来了……Mark Pilgrim 有一本在线书籍,也很好。我共同维护着一个名为 HTML5 Doctor 的网站,其中有很多适合初学者的文章,以易于消化的形式呈现。不幸的是,还有一些所谓的学校网站提供过时信息,甚至出版了基于规范过时版本的书籍。

10) HTML5 对标记语言的处理比 HTML4.01 严格版或 XHTML 更宽松。例如,你可以混合使用大小写标签,并且可以省略属性周围的引号。这在代码质量方面是不是倒退了一步?

不是。人们应该能够轻松地将他们的网站从 XHTML 1 或 HTML4 迁移过来,而且浏览器从来不在乎语法(当以 text/html 格式提供时),那么为什么要强加一条禁止使用小写或大写或要求尾部斜杠的任意规则呢?作者应该选择一种适合自己的样式并坚持下去。像 HTML Lint 这样的网站提供了选择加入“生活方式”语法选择(如引用属性、小写等)的能力,我希望创作工具也能做到这一点。

质量的真正检验是浏览器从代码中构建的 DOM,当浏览器具有 HTML5 解析器时,即使从无效代码中构建的 DOM 也会相同,这对互操作的 Web 来说是一个巨大的胜利。

额外问题:接下来是什么?你认为我们接下来需要解决什么重大问题才能使 Web 变得更好,并使其更容易构建?

我们需要一种凡人可以理解的 CSS 布局机制,为 canvas 和 webGL 提供真正意义上的可访问性,以及更多 裸体开放标准布道者的照片

你认识什么人适合我采访,纳入“HTML5 人物志”吗?请在 Twitter 上告诉我:@codepo8

关于 克里斯·海尔曼

HTML5 和开放 Web 的布道者。让我们一起修复它!

克里斯·海尔曼的更多文章…


21 条评论

  1. Ian

    这个想法很棒,布鲁斯是开始的理想人选。期待后续内容。

    2011 年 1 月 6 日 04:41

  2. Russell Bishop

    我不确定关于 HTML5 和英语的这个论点。开发人员对根据当前规范构建网站、将其交给客户、规范发生变化以及网站出现故障或无法按预期工作感到担忧。

    我不认为我会争论英语为何有所不同(自动更新和同步)。

    无论如何,我同意大多数观点,并且我非常支持这个 NEWT 的概念。

    2011 年 1 月 6 日 04:47

  3. Benoit Jacob

    > 我们需要 […] 为 canvas 和 webGL 提供真正意义上的可访问性

    WebGL 的可访问性将采用什么形式?WebGL 是一种非常底层的图形 API,它更多地涉及图形卡状态,而不是人类可见的图形。

    2011 年 1 月 6 日 06:00

  4. bruce

    向法语道歉。

    我说“也许我们应该停止使用英语,因为它‘还没有完成’,转而使用法语,因为法语显然在 1799 年就完成了。”是由于完全错误地记住了“事实”,即法兰西学院在 1799 年将法语编纂成文并宣布自己为法语的唯一权威。

    在涉及法国历史时,我根本分不清自己的屁股和肘部。

    所以请将“也许我们应该停止使用英语,因为它‘还没有完成’,转而使用法语,因为法语显然在 1799 年就完成了”改为“也许我们应该停止使用英语,因为它‘还没有完成’,转而使用世界语,因为世界语显然在 1931 年就完成了”。

    2011 年 1 月 6 日 08:14

  5. Skoua

    嗨,布鲁斯!

    访谈很棒。
    除了很酷之外,我是否应该从现在开始始终使用 HTML5,而不是在构建普通网站(文档……)时使用任何其他文档类型?

    我已经开始只使用 html5 文档类型,但还没有开始使用新标签(section、header……)。

    谢谢。

    2011 年 1 月 6 日 10:50

    1. bruce

      Skoua

      如果你使用 HTML5 文档类型——并且仅此而已——你仍然可以自豪地称你的网站为“HTML5”。

      在更实用的层面上,HTML5 文档类型意味着 ARIA 角色和状态将通过验证,允许你添加可访问性信息并使其通过验证(在 HTML4/XHTML 1 中是非法的)。有关 ARIA 的更多信息,请参阅 Gez Lemon 的 WAI ARIA 入门指南 http://dev.opera.com/articles/view/introduction-to-wai-aria/

      2011 年 1 月 6 日 11:19

      1. Skoua

        感谢你的回答。

        我会深入研究一下 ARIA,我以前从未真正关注过它,但现在看来是一个开始的好时机。

        所以,如果我不使用 HTML5 特定的功能,如视频、新的表单元素等等,那么使用 HTML5 纯粹是为了可访问性吗?

        2011 年 1 月 6 日 11:33

  6. Tarjei Vassbotn

    DAP 和更简洁/更直观的 CSS 布局机制绝对是我最想看到的!

    2011年1月6日 17:49

  7. Greg

    关于从XML有效性后退一步,这是我完全对HTML 5不感兴趣的一个原因。我从1995年就开始参与网页开发,并且很高兴看到所有那些旧的标签汤乱七八糟的东西随着向XHTML和其他与XML相关的标准的迁移而被抛在后面,现在却看到它被抛弃,取而代之的是一种新的标签汤,这一切都是为了万能的“画布”,这令人难以置信地失望。在职业生涯中,我已经离开了吞噬HTML 5的网页客户端世界,转向了更加丰富、更加有趣XML世界,并且不会回头。

    2011年1月7日 01:21

    1. Skoua

      你仍然可以使用HTML5的XML版本,没有标签汤。

      2011年1月7日 09:57

  8. DrClue

    我认真考虑了将HTML5用于应用程序开发的想法
    并且一直在围绕它开展一些严肃的项目。

    我目前的项目是“AsterClick AMI工具集”,旨在
    支持创建基于HTML5的应用程序,用于使用webSockets控制
    Asterisk PBX。

    工具集中的一个组件甚至允许HTML5
    应用程序作为独立的桌面可执行文件部署。

    我刚刚完成了第一个利用该工具集的应用程序
    它被称为“HUD”,允许用户拖放电话呼叫、转移呼叫、管理电话队列、电话会议等。

    因此,我确实认为HTML5在开发
    真正商业级的应用程序(无论是在网上还是在网下)中都发挥着重要作用。

    2011年1月7日 04:34

  9. bruce

    http://wiki.whatwg.org/wiki/FAQ#Why_does_HTML5_legitimise_tag_soup.3F

    为什么HTML5会使标签汤合法化?

    实际上它并没有。这是一个误解,源于对文档的一致性要求和对用户代理的要求之间的混淆。

    由于支持现有内容的基本设计原则,规范必须定义如何处理所有HTML,无论文档是否符合规范。因此,规范定义(或将定义)如何精确地处理和恢复错误的标记,其中许多会被认为是标签汤。

    例如,规范定义了处理语法错误(例如嵌套不正确的标签)的算法,这将确保可以生成结构良好的DOM树。

    定义这一点对于将来实现浏览器之间的互操作性和减少对彼此逆向工程的依赖至关重要。

    但是,作者的一致性要求与处理要求是分开定义的。仅仅因为浏览器需要处理错误的内容,并不意味着这种标记符合规范。

    例如,用户代理将需要支持marquee元素,但作者不得在符合规范的文档中使用marquee元素。

    重要的是要区分适用于用户代理的规则和适用于作者生成符合规范的文档的规则。它们是完全正交的。

    2011年1月7日 10:34

    1. Tom – 大肚腩

      而且网页作者几乎从未按照规范编写代码。WhatWG声称要摒弃过去的所有hack和逆向工程,都是因为作者编写代码是为了在某些用户代理中显示。现在,规范创建了一种情况,即无论HTML是否有效,用户代理都必须具有一致、可重现和可行的DOM,因此文档作者绝对没有理由费心编写有效的HTML。

      你不必是超级天才就能看出某些事情是否需要更多工作,而且不执行额外工作也没有任何惩罚,那么这项额外工作几乎永远不会被执行。去除惩罚,不提供奖励,猜猜行为会发生什么。换句话说,HTML5会增加格式错误的代码数量,因为它消除了所有现有的(最小的)编写错误HTML4的缺点,而没有为编写有效的HTML5提供任何额外的好处。

      而且HTML5的标签汤引入了一系列语义上模棱两可的标签,如section和aside,以及microdata提案的完全NIH(非我发明综合征)。

      2011年1月10日 18:35

  10. Axel Rauschmayer

    css3-grid-align不是下一代CSS布局标准吗?

    http://dev.w3.org/csswg/css3-grid-align/

    这是微软独有的东西,还是其他浏览器也会实现它?

    2011年1月7日 15:04

    1. Skoua

      如果它在W3C网站上,我想这将被所有人实现。

      2011年1月7日 17:01

    2. Tarjei Vassbotn

      css3-grid-align看起来很有希望。有人知道是否有人已经实现了它吗?

      2011年1月8日 02:59

  11. Laurent

    太棒了!我喜欢英国人的幽默!;-)

    2011年1月7日 16:08

  12. Stephen

    虽然我同意HTML5语法不严格,这也没关系,但我认为代码风格的一致性对于干净的代码很重要——编辑器和IDE倾向于更喜欢结构良好的代码和正确的闭合标签,以启用代码折叠等功能。

    不要让互联网的新代码库看起来像MSDN和其他遗留代码示例中那些灾难性地凌乱的代码示例,这些代码示例充满了1995年的气息。

    为你的专业代码感到自豪。

    2011年1月8日 15:13

  13. Theo

    精彩的采访,期待看到更多!

    2011年1月16日 04:16

  14. Ian

    我认为HTML 5最终将克服Adobe和Flash的挑战,这对用户体验来说只有好处。

    2011年7月27日 08:55

  15. Jim

    DAP 和更简洁/更直观的 CSS 布局机制绝对是我最想看到的!

    2012年2月17日 09:13

本文的评论已关闭。