瞭解 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 標準規範和組織

相關文章
相關標籤/搜索