Web 標準制定流程

簡介

做爲Web開發者固然須要緊跟Web規範的變化。最好的方式固然就是參與標準的制定過程,你不必定須要實際提出建議,反饋新特性的實際使用狀況也是一種參與。因此我把Web相關標準的制定流程和參與方式作一個總結。php

JavaScript

相關術語

ECMAScript:JavaScript是ECMAScript的一種實現,除了JavaScript還有ActionScript等實現
ECMA-262:ECMA-262規範,就是ECMAScript語言的官方標準
ECMA TC39:ECMA第39號技術委員會,負責制定ECMAScript規範。TC39的成員有Microsoft、Google、Apple等瀏覽器廠商、此外還有jQuery、Intel等組織或公司,詳細人員能夠在這裏查看html

標準制定流程

ECMAScript每一年發佈一次新標準,每一年新增的特性都會盡量少(由於必須保證一年內可以完成)。常青瀏覽器配合標準每周發佈一次新版的加速JavaScript的進化。常青瀏覽器爲git

  • Microsoft Edgegithub

  • Mozilla Firefox算法

  • Google Chrome瀏覽器

  • Operababel

  • Apple Safariide

一個新特性從提出到正式成爲規範的一部分須要通過5個階段post

Stage 0:Strawman

說明:該階段能夠以任何方式提交推進ECMAScript發展的想法
進入條件:文檔必須經過TC39會議審議,經過後將會放到Stage 0 Proposals頁面
參與方式:任何人均可以在 https://github.com/tc39/ecma262提交pull request來提交新提議。註冊成爲ECMA貢獻者之後可以以任何形式提交提議單元測試

Stage 1:Proposal

說明:對提議的正式建議
進入條件

  • 提供Polyfills和demos

  • 指定一名TC39成員來負責該提議。

  • 大概的問題的描述以及解決方案

  • 使用方法的用例

  • 高層級API

  • 關於關鍵算法、抽象和語法的討論

  • 肯定潛在問題,好比實現難度等等

Stage 2:draft

說明:階段二會是標準的第一個版本。此時將會出現標準中的最終特性是差很少的。
進入條件

  • 前述的全部條件

  • 提供兩種實現方式,有一種能夠是babel編譯實現

  • 第一版的標準,有更規範化有關特性的語法和語義的說明(使用ECMAScript標準的正式語言)。

Stage 3:candidate

說明:此時提議已經接近完成,這個階段須要獲得實現方的反饋,以及用戶使用的反饋。
進入條件

  • 提供兩種實現(能夠是實驗性實現)與規範兼容

  • 前述的全部條件。

  • 完整的標準。

  • 由ECMAScript標準的編輯以及TC39指派的審稿人審查經過並簽字。

Stage 4:finished

說明:提議將被包括到下一個版本的標準當中
進入條件

  • 使用Test 262編寫的單元測試來驗證語言的特性

  • 兩個經過測試而且互相兼容的實現

  • 重要的領域內實踐經驗。 須要訂正:Significant in-the-field experience with shipping implementations, such as that provided by two independent VMs

  • 將完整的規範文本提交pull request到tc39/ecma262、ECMAScript標準的編輯必需要簽署上述pull request

其餘

當前標準制定狀態

TC39會維護一個列表,包含了當前正在制定中的新特性,能夠在這裏查看

標準的修訂及日程

TC39委員會每一年會在7月份向ECMA會議(ECMA General Assembly)提交標準來得到認可。一份新標準發佈的大概時間線以下

  • 2月1日:候選草案(Candidate Draft)發佈

  • 2月-3月:60天免版稅時間的退出時間。 須要訂正:60 day royalty-free opt-out period

  • 3月TC39會議:第四階段的提議被採納,語法被肯定並覈准,新的標準將會從新從主幹分支中分離,從這裏開始只能做文字性的改動

  • 4月到6月:ECMA CC 和ECMA會議審覈

  • 7月:ECMA會議批准新的標準

總結

JavaScript史無前例的繁榮。ECMAScript標準的制定過程也徹底在Github上公開,使得公衆可以參與進來。你還能夠經過如下方式關注標準的制定過程

參考文章

The TC39 Process
ES7新特性及ECMAScript標準的制定流程

相關文章
相關標籤/搜索