做爲Web開發者固然須要緊跟Web規範的變化。最好的方式固然就是參與標準的制定過程,你不必定須要實際提出建議,反饋新特性的實際使用狀況也是一種參與。因此我把Web相關標準的制定流程和參與方式作一個總結。php
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
說明:該階段能夠以任何方式提交推進ECMAScript發展的想法
進入條件:文檔必須經過TC39會議審議,經過後將會放到Stage 0 Proposals頁面
參與方式:任何人均可以在 https://github.com/tc39/ecma262提交pull request來提交新提議。註冊成爲ECMA貢獻者之後可以以任何形式提交提議單元測試
說明:對提議的正式建議
進入條件:
提供Polyfills和demos
指定一名TC39成員來負責該提議。
大概的問題的描述以及解決方案
使用方法的用例
高層級API
關於關鍵算法、抽象和語法的討論
肯定潛在問題,好比實現難度等等
說明:階段二會是標準的第一個版本。此時將會出現標準中的最終特性是差很少的。
進入條件:
前述的全部條件
提供兩種實現方式,有一種能夠是babel編譯實現
第一版的標準,有更規範化有關特性的語法和語義的說明(使用ECMAScript標準的正式語言)。
說明:此時提議已經接近完成,這個階段須要獲得實現方的反饋,以及用戶使用的反饋。
進入條件:
提供兩種實現(能夠是實驗性實現)與規範兼容
前述的全部條件。
完整的標準。
由ECMAScript標準的編輯以及TC39指派的審稿人審查經過並簽字。
說明:提議將被包括到下一個版本的標準當中
進入條件:
使用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上公開,使得公衆可以參與進來。你還能夠經過如下方式關注標準的制定過程
https://github.com/tc39,39號委員會的Github,全部標準制定的相關工做、討論、會議記錄均會公開在上面
https://mail.mozilla.org/listinfo/es-discuss,這個是mozilla組織中對ECMAScript的相關討論的郵件列表