这是我参与「第四届青训营 」笔记创作活动的的第4天
Web 标准与前端开发 | 青训营笔记
关于Web标准
- Web标准组织
- W3C和Ecma的情况
- W3C规范制定流程
- Ecma TC39规范制定流程
Web标准组织
- W3C: World Wide Web Consortium
- Ecma: Ecma International
- WHATWG: Web Hypertext Application Technology Working Group
- IETF: Internet Engineering Task Force
关于Web标准: W3C、Ecma
W3C
- 官网: www.w3.org
- Github: github.com/w3c
- 规范查询: www.w3.org/TR
Ecma TC39
- 官网: www.ecma-international.org
- TC39: tc39.es
- Github: github.com/tc39
- Discourse: es.discourse.group
WHATWG
- 官网: whatwg.org/
- Github: github.com/whatwg
- 规范查询: spec.whatwg.org/
IETF
- 官网: www.ietf.org/
- Github: github.com/ietf
W3C和Ecma
- W3C目前在全球有444家会员(link),其中北航总部(中国区)会员46家(link)
- Ecma的AM(Associate Member)会员目前有18家,中国公司有字节跳动、360、阿里、华为、腾讯等5家(link) 中国除有5家AM会员,还有一家SPC(Small Private Company,小型私有公司)会员Sujitech。 另外,大家可以关注一家西班牙的公司Igalia。
W3C规范制定流程
我们看一下W3C规范的生命周期,借以了解W3C规范的制定流程。
- WD:Working Draft,即工作草案
- CR:Candiate Recommendation,即候选推荐
- PR:Proposed Recommendation,即提议推荐
- REC:Recommendation,即推荐标准 推荐标准就是W3C的标准的最终形态,不是强制性标准。
W3C规范的流程在前面的流程文档里有详细介绍。 但一个规范从草案到正式发布,通常都涉及以下几个方面:
- Explainer:就是建议说明文档,比如要标准化某个领域的API,要先写一个建议文档,Slide上有个链接,里面包含相关示例:w3ctag.github.io/explainers;
- Find the right community/group:找到合适的社区或小组,把建议文档提交到社区或小组里充分讨论;
- Web IDL for APIs:IDL(Interface Description Language,接口描述语言),用于描述API的一种标准方式:heycam.github.io/webidl/;
- Step-by-step algorithms:分步算法,就是要把算法步骤描述清楚;
- GitHub, Markdown, respec, bikeshed, etc:这些都是工具;
- Get an early review w3ctag/design-review:事先请TAG(Technical Architecture Group,技术架构组)进行设计评审; - Write web-platform-tests (WPT) tests:编写WPT测试。
Ecma TC39规范制定流程
负责制定ECMAScript规范的是TC39,TC是Technial Committee,技术委员会的意思。
- Stage 0:strawman,稻草人,以任何形式提交的想法
- Stage 1:proposal,提案,特性的正式建议
- Stage 2:draft,草案,具有语法和语义的描述
- Stage 3:candidate,候选,规范文本完备,有了两个实现
- Stage 4:finished,完成,可以成为标准,通过单元测试