了解 Web 标准规范和组织

Web 标准是由各大标准组织制定,由浏览器和其余 Web 底层框架或工具来实现,再提供给开发者能以最小成本开发适用于多平台的 Web 应用,这些标准是咱们能访问无数网站的前提。html

学习标准的必要

最近在 MDN 上学习 Web Components,学习中有些疑惑在 MDN 上没有说起,最后经过查阅 Custom elements 标准规范才解决了个人疑惑,让我感慨原来标准规范这么有用。html5

制定 Web 标准的目的是严谨、无疏漏、无歧义地描述相关技术实现,通常来讲这些标准规范是给像浏览器开发者的人来使用的,对于通常的 Web 工程师来讲,平时用不上它,由于这些标准太过啰嗦和难懂。git

可是学习标准也有它的好处。由于咱们接触的技术文档或文章,大都通过做者的理解和翻译,致使有些内容做者解读得不够全面甚至是错误的,所以影响到咱们的学习效果。因此若是想要深刻学习技术的原理,经过看最原始的标准文档,理解并创建本身知识体系,是颇有必要的。github

Web 标准计划

在 Web 发展的早期,浏览器各自为政,技术无一致实现,这直接损害了设计师、开发者、用户和行业的利益。为了解决这些问题,Web 标准计划 (Web Standards Project, WaSP) 于 1998 年成立,目标即是促进核心的 Web 标准的推广,鼓励浏览器对标准的支持,为你们寻求一条简单而便利之路。web

得益于前人努力,现在的现代浏览器表现已经愈来愈一致,进而催生出更多标准,有了这些标准咱们能够开发出体验更好的 Web 应用。浏览器

这个是全部浏览器相关的技术标准: The Web platform: Browser technologies,从中能了解到健全发展的 Web 技术生态。安全

Web 标准组织

说到 Web 标准,就不得不提制定这些标准的组织,这些标准不单只是由一个组织来制定,多个组织各自负责相关的技术领域,下面一一介绍。架构

W3C (World Wide Web Consortium)

W3C 组织为 Web 开发领域提出了不少建议,好比为 XHTML、XML、DOM、CSS 和 Web API 等技术实现提出了建议。你可能会注意到为何说是提出建议,而不是标准呢?那是由于 W3C 自认为不是标准组织,他们只是组织了 Web 相关领域的专家,这些专家组成一支工做小组,工做小组就如何实现 Web 技术提出建议。尽管 W3C 对其建议的实现方案没有任何强制权力,但他们大多数的建议都被视为事实上的标准。框架

W3C 组织关注 DOM、CSS、HTTP、媒体、性能、安全、图形学、可访问性和用户隐私等方方面面的技术,在这里能够搜索相关技术: All Standards and Draftsdom

从 W3C 组织成员的工做手册能够看到,一项技术从提出到成为标准,须要通过 4 个阶段。

W3C 技术建议的几个阶段

  1. WD (Working Drafts):草案阶段
  2. CR (Candidate Recommendation):候选阶段
  3. PR (Proposed Recommendation):提议阶段
  4. REC (W3C Recommendation):正式建议阶段

WHATWG (The Web Hypertext Application Technology Working Group)

WHATWG 工做小组成立于 2004 年,原由是 W3C 组织对 HTML 再也不感兴趣,转而关注 XHTML 技术,部分 W3C 成员对此行为不满,所以他们决定创建一个新组织推进 HTML 发展,制定相关标准。现在 HTML5 技术能发展起来,也是得助于 WHATWG 小组。

WHATWG 小组因 HTML 而生,负责的 Web 标准主要是 HTML 相关技术,也涉猎一些 Web API,好比: HTMLDOM浏览器兼容性XHRFetchStorageURL 等标准。在这里能够查看全部标准:WHATWG Standards

WHATWG 组织没有明确说明,一项技术成为标准要通过哪些阶段,他们实行的是现行标准 (Living Standard),标准由相关负责人维护升级,并由开发者或浏览器厂商提议将新功能加入标准,这一协做过程经过 Github 的 Issues 来讨论。

若是仔细看 WHATWG 和 W3C 制定的标准,会发现有些标准互有重叠,两个组织都有制定相同的技术标准,好比 DOM 标准。有一些标准会在开头说明:“该标准已经不禁咱们来维护,请查看某某组织的最新标准”。可是其余一些标准并无这样的说明,至于参考哪个标准,个人方法是查看 MDN 相关技术文档下附加的标准规范连接。

MDN 参考规范

ECMA

ECMA 组织负责不少与信息化相关的技术标准,其中应用最广的就是 TC39 委员会负责的 ECMAScript 标准,这标准的实现就是 JavaScript。

经过 TC39 成员的工做手册能够看出,每一项对 ECMAScript 标准的更新,须要通过 5 个阶段。

  1. Strawman (Stage 0):提案归入考虑中
  2. Proposal (Stage 1):明确提案的好处,以及可能带来的风险
  3. Draft (Stage 2):使用正式的规范语言描述语法和语义
  4. Candidate (Stage 3):根据使用者反馈进行改良
  5. Finished (Stage 4):准备正式加入 ECMAScript 标准

如今正在进行的提案能够在仓库 tc39 proposals 查看,从中可以学习到最新的语法并参与讨论。

IETF

IETF (The Internet Engineering Task Force) 组织主要负责制定互联网基础架构的标准,好比 TCP/IP 和 FTP 协议。

The Unicode Consortium

The Unicode Consortium 组织负责 Unicode 标准,正如他们所说,“咱们为每一个字符提供一个惟一的编号,不管平台是什么,不管程序是什么,不管语言是什么”。

总结

对通常 Web 开发来讲,咱们用不上晦涩难懂的标准文档。但学习标准咱们能够收获不少,好比解决一些棘手的 bug,获取第一手学习资源,全面深刻地理解相关技术,了解技术的发展前沿。


若是你喜欢这篇文章,请关注我,我会持续输出更多原创且高质量的内容。

原文连接:了解 Web 标准规范和组织

相关文章
相关标签/搜索