5

通过阅读邮件列表和查看规范,我无法判断 HTML5 作为软件或编程技术的限制是什么。我已经看到他们试图在 HTML5 中标准化视频和音频格式的地方,似乎他们可能正在将 XHTML5 的定义写入 HTML5 规范。看起来该规范非常冗长,涵盖的主题远远超出了标记语言的定义和最低要求的处理指令。

在版本 5 中,HTML 现在是一种应用程序界面,而不仅仅是一种标记语言吗?如果是这样,那么技术的边界和定义的限制是什么?如果不是,那么为什么有这么多与标记处理无关的话题在技术开发过程中受到如此关注?标记语言的边界何时结束,用户代理应用程序的应用程序偏好何时开始?在 HTML5 中,这种分离看起来不是很清晰,但作为一个行业标准,它应该是非常清晰的,对吧?

4

7 回答 7

3

你不是第一个对此感到疑惑的人。请参阅 Rob Sayre 和 HTML5 编辑器 (hixie) 之间的讨论:http: //blog.mozilla.com/rob-sayre/2008/02/19/bloaty-parts-of-the-whatwg-html5-specification-that-应该删除/#comment-7559

我的理解是:有很多

  1. 广泛实施,但未指定或未指定的旧技术(例如“DOM 0”功能、标签汤解析)
  2. “重要的”新技术,现代浏览器供应商希望以可互操作的方式实施(例如视频、画布、离线)。

如果 hixie 对它们感兴趣并且没有其他编辑者站出来维护单独的规范,那么 hixie 更愿意将它们保留在 HTML5 中,“[重新表述] 为不阻碍 Web 进度而付出臃肿规范的代价”。

顺便说一句,如果你想要一个权威的答案,你应该问 hixie 本人或在 HTML5 讨论论坛中。

[编辑] 发现来自 hixie 的关于从 HTML5 规范中拆分内容的附加电子邮件:http: //lists.w3.org/Archives/Public/public-html/2008Oct/0127.html

于 2009-11-02T08:33:46.020 回答
2

在版本 5 中,HTML 现在是一种应用程序界面,而不仅仅是一种标记语言吗?

是的。

如果是这样,那么技术的边界和定义的限制是什么?

主要是一个自我强加的规则,不再采用任何主要的新功能。

标记语言的边界何时结束,用户代理应用程序的应用程序偏好何时开始?

很模糊。这个 Stack Overflow 页面是文档还是应用程序?

在 HTML5 中,这种分离看起来不是很清晰,但作为一个行业标准,它应该是非常清晰的,对吧?

该规范的操作要求很明确。在定义文档和应用程序之间的区别时不需要明确。

于 2009-11-02T09:56:22.007 回答
1

冒着听起来过于简单化的风险:如果它在规范中,它就是标准的一部分。为了合规,代理必须实施指定的部分。

对于 HTML 5,它不仅仅是“一种标记语言”这一事实并不是什么新鲜事物。HTML 规范总是比简单的文档标记多一点。据我所知,将 HTML 细化为纯标记定义的努力在 XHTML 中达到了顶峰。

HTML 5 似乎承认纯标记本身并不足以解决某些现实世界的问题,更新的标准可以帮助解决这些问题:“但是在这种情况下应该发生什么?” “哦,好吧,这取决于用户代理,我们在标记规范中不担心这一点。” ... 在最终用户体验因对此类问题缺乏共识而受到影响的网络中,这不是一个非常令人满意的解决方案。

它是一个 API 吗?也许吧,但作为一种语言,它在需要时仍将仅作为标记工作(想想非图形用户代理)。在某些情况下,它应该比可用的选择更好。

要回答您的最后一个问题:不,在标准中,标记语言和用户代理的行为之间的分离不需要“非常清楚”。是什么让你认为它做到了?但我怀疑它比你想象的更清楚:你能举一个你不确定它是指标记还是用户代理行为的部分规范的例子吗?

于 2009-11-05T08:58:29.573 回答
0

您可能会发现这篇文章非常有趣:X/HTML 5 Versus XHTML 2 http://xhtml.com/en/future/x-html-5-versus-xhtml-2/

由于 W3C 获取更新规范的速度很慢,而且 Web 不仅更加碎片化,而且由于规范太旧而无法满足的需求,HTML5 正在努力解决这些问题,例如画布标签并嵌入视频/音频。这取代了过度使用的<object>标签,而不得不使用 Flash。

网络已经不仅仅是提供网页,现在我们有了 javascript 应用程序,所以现在我们可以拥有比以前更多的交互性,这不仅是从 HTML5 的一些变化,而且是向更新版本的 JavaScript 的转变。

因此,HTML5 应该不仅仅是一种标记语言,因为 Web 应用程序已经超越了仅提供静态页面的服务器,而这正是标记语言的优势所在。

于 2009-11-02T04:27:39.627 回答
0

HTML 从一开始就在标记和行为之间存在这种张力(参见为什么我们有一个 IMG 元素?)。HTML 和网络已经不可分割地联系在一起。HTML 规范在技术纯洁性和铺平道路之间摇摆不定。

HTML 是一种标记语言,但实现规范的应用程序的行为受到限制。对于更纯粹的标记,XML 或 SGML 会更合适。

据我了解,您在问为什么规范不限于标记部分(x/HTML 5),而是还指定了用户代理行为,对吗?如果是这样,我相信这是因为规范确实涵盖了用户代理行为,这是故意的。它指定了实现应用程序应该如何表现以符合规范。

如果您今天从头开始,您将不会以 HTML5 告终。然而,我们并不是从零开始,HTML 规范一直试图平衡现实世界和理想世界。

于 2009-11-04T22:17:26.077 回答
0

这是说明 HTML5 和 HTML4 之间差异的链接。考虑到 CSS 可以更好地处理它们,许多属性和标签已从 HTML5 中删除。如果程序员不掌握 CSS 怎么办?

于 2009-11-10T04:41:20.010 回答
0

也许对您的问题的最佳回答是“您要做什么?”。

我这么说是因为如果您现在正在寻找使用 HTML5 在现代 Web 浏览器(阅读:不是 IE)中构建一个 Web 应用程序,那么您要关心的范围/边界就是主要的现代浏览器制造商目前正在支持并计划很快支持。

Google Wave 做到了这一点,并提出了一款可以跨浏览器(Firefox/Chrome/Safari/Opera)运行的出色产品。已经得到广泛支持的 HTML5 的一些基本租户是 video/audio/canvas/storage/geo。

HTML5 支持

http://radar.oreilly.com/2009/05/google-bets-big-on-html-5.html

于 2009-11-11T00:37:05.410 回答