Web 標準是由各大標準組織制定,由瀏覽器和其餘 Web 底層框架或工具來實現,再提供給開發者能以最小成本開發適用於多平臺的 Web 應用,這些標準是咱們能訪問無數網站的前提。html
最近在 MDN 上學習 Web Components,學習中有些疑惑在 MDN 上沒有說起,最後經過查閱 Custom elements 標準規範才解決了個人疑惑,讓我感慨原來標準規範這麼有用。html5
制定 Web 標準的目的是嚴謹、無疏漏、無歧義地描述相關技術實現,通常來講這些標準規範是給像瀏覽器開發者的人來使用的,對於通常的 Web 工程師來講,平時用不上它,由於這些標準太過囉嗦和難懂。git
可是學習標準也有它的好處。由於咱們接觸的技術文檔或文章,大都通過做者的理解和翻譯,致使有些內容做者解讀得不夠全面甚至是錯誤的,所以影響到咱們的學習效果。因此若是想要深刻學習技術的原理,經過看最原始的標準文檔,理解並創建本身知識體系,是頗有必要的。github
在 Web 發展的早期,瀏覽器各自爲政,技術無一致實現,這直接損害了設計師、開發者、用戶和行業的利益。爲了解決這些問題,Web 標準計劃 (Web Standards Project, WaSP) 於 1998 年成立,目標即是促進核心的 Web 標準的推廣,鼓勵瀏覽器對標準的支持,爲你們尋求一條簡單而便利之路。web
得益於前人努力,現在的現代瀏覽器表現已經愈來愈一致,進而催生出更多標準,有了這些標準咱們能夠開發出體驗更好的 Web 應用。瀏覽器
這個是全部瀏覽器相關的技術標準: The Web platform: Browser technologies,從中能瞭解到健全發展的 Web 技術生態。安全
說到 Web 標準,就不得不提製定這些標準的組織,這些標準不單只是由一個組織來制定,多個組織各自負責相關的技術領域,下面一一介紹。架構
W3C 組織爲 Web 開發領域提出了不少建議,好比爲 XHTML、XML、DOM、CSS 和 Web API 等技術實現提出了建議。你可能會注意到爲何說是提出建議,而不是標準呢?那是由於 W3C 自認爲不是標準組織,他們只是組織了 Web 相關領域的專家,這些專家組成一支工做小組,工做小組就如何實現 Web 技術提出建議。儘管 W3C 對其建議的實現方案沒有任何強制權力,但他們大多數的建議都被視爲事實上的標準。框架
W3C 組織關注 DOM、CSS、HTTP、媒體、性能、安全、圖形學、可訪問性和用戶隱私等方方面面的技術,在這裏能夠搜索相關技術: All Standards and Drafts。dom
從 W3C 組織成員的工做手冊能夠看到,一項技術從提出到成爲標準,須要通過 4 個階段。
WHATWG 工做小組成立於 2004 年,原由是 W3C 組織對 HTML 再也不感興趣,轉而關注 XHTML 技術,部分 W3C 成員對此行爲不滿,所以他們決定創建一個新組織推進 HTML 發展,制定相關標準。現在 HTML5 技術能發展起來,也是得助於 WHATWG 小組。
WHATWG 小組因 HTML 而生,負責的 Web 標準主要是 HTML 相關技術,也涉獵一些 Web API,好比: HTML、DOM、瀏覽器兼容性、XHR、Fetch、Storage 和 URL 等標準。在這裏能夠查看全部標準:WHATWG Standards。
WHATWG 組織沒有明確說明,一項技術成爲標準要通過哪些階段,他們實行的是現行標準 (Living Standard),標準由相關負責人維護升級,並由開發者或瀏覽器廠商提議將新功能加入標準,這一協做過程經過 Github 的 Issues 來討論。
若是仔細看 WHATWG 和 W3C 制定的標準,會發現有些標準互有重疊,兩個組織都有制定相同的技術標準,好比 DOM 標準。有一些標準會在開頭說明:「該標準已經不禁咱們來維護,請查看某某組織的最新標準」。可是其餘一些標準並無這樣的說明,至於參考哪個標準,個人方法是查看 MDN 相關技術文檔下附加的標準規範連接。
ECMA 組織負責不少與信息化相關的技術標準,其中應用最廣的就是 TC39 委員會負責的 ECMAScript 標準,這標準的實現就是 JavaScript。
經過 TC39 成員的工做手冊能夠看出,每一項對 ECMAScript 標準的更新,須要通過 5 個階段。
如今正在進行的提案能夠在倉庫 tc39 proposals 查看,從中可以學習到最新的語法並參與討論。
IETF (The Internet Engineering Task Force) 組織主要負責制定互聯網基礎架構的標準,好比 TCP/IP 和 FTP 協議。
The Unicode Consortium 組織負責 Unicode 標準,正如他們所說,「咱們爲每一個字符提供一個惟一的編號,不管平臺是什麼,不管程序是什麼,不管語言是什麼」。
對通常 Web 開發來講,咱們用不上晦澀難懂的標準文檔。但學習標準咱們能夠收穫不少,好比解決一些棘手的 bug,獲取第一手學習資源,全面深刻地理解相關技術,瞭解技術的發展前沿。
若是你喜歡這篇文章,請關注我,我會持續輸出更多原創且高質量的內容。
原文連接:瞭解 Web 標準規範和組織