DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> HTML基礎知識 >> HTML和Xhtml >> 關於web標准的誤解:WEB標准化進程
關於web標准的誤解:WEB標准化進程
編輯:HTML和Xhtml     

Fresset Ltd (一個小型web廣告公司)公司的聯合創始人Lea Verou在本文中討論了人們關於web標准的一些誤解,以及W3C及其工作組真正在做些什麼,以及標准化進程是如何工作的。

這是關於W3C工作組的系列文章的第一篇,主要關注CSS Working Group及相關工作。我覺得在我開始發表文章之前,有必要先清除一些關於web標准的廣為流傳的神話,並簡單講一下標准化進程是如何工作的。

一些術語

為了簡單及精確起見,下面列出了一些術語,這些術語在本文中得以使用,在大多數與標准相關的討論中也使用了這些術語:

Authors:開發人員,設計人員,或者說任何使用web技術的人。

Implementors:例如,那些提供開發者工具(developer tools)的公司。

Spec editors:撰寫標准的人。與人們慣常的想法相反,他們並不是創造web技術的人。在下面你將更多讀到關於這一點的內容。

1. ” W3C 創建了標准,然後浏覽器必須去遵循”

浏覽器創新與W3C創新(browser innovation vs W3C innovation)是一個廣為流傳的二元對立,然而這樣的對立是錯誤的想法。簡單來說,W3C實際上是implementors!Web標准是通過在Working Groups (WGs)中達成共識來實現的。這些WGs包括了各implementors的代表,主要是浏覽器的代表。每個WG都有少量W3C成員,但他們只占少數。例如,在CSS WG中,現在有74名成員,其中只有4個(5.4%)是W3C成員(Bert Bos, Richard Ishida, Chris Lilley 以及 Liam Quin)。當然,浏覽器通常自己先進行創新以後,然後隨後再進行標准化(例如,rag & Drop API, CSS transitions, CSS transforms, CSS animations),但這樣是很冒風險的,應該盡力避免。如果一個特寫在標准化之前就廣為流傳了,那麼,WG可能被迫去解決欠佳語法問題。

2. “你必須在大公司中工作,才能影響web標准”

如果你是在為一個成員公司工作,成為一個Working Group成員確實要容易得多。當然,除此以外,你還可以成為一個特邀專家(Invited Expert),但這對大多數WGs來說,都是分成困難的。CSS WG現在只有四個特邀專家(Molly Holzschlag, Koji Ishii, Brad Kemper 以及 Anton Prowse),在74名成員中只占5.4%。

然而,如果你想要有所貢獻,並不非得是WG成員。每個WG都有一個公開郵件列表,每個好的想法都會被考慮,不論這個想法來自於誰。通常,一直在跟進某個列表的人可能會有更為有效的建議,因為他們對相關術語更為屬性,並明白其中可能有的局限,但是這些對於提出一個值得考慮的想法來說,都不是必要的。

類似的,壞的想法都會被拒絕,即使這個想法來自於WG成員。這對於保持標准的高質量來說是非常重要的,因為任何人都可以加入WG。對於一個公司來說,要想成為W3C成員,所要做的只是有足夠資金去交年費。任何一個來自於W3C成員公司的人都可以成員W3C成員,只要他們有時間,並且他們的雇主同意他們這樣做。

3. “Spec editors創建web技術”

實際情形並非總是如此。W3C采取兩種方式工作模式:

  1. 先審查,再成文:首先,每一個細節都會在WG中進行討論,然後editor必須將討論結果寫成正式文字 (正如某人所巧妙表達的那樣,”忠實記錄工作組的共識”).在這種工作模式下,editor和其他任何活躍參與這個討論的人有相同權力。
  2. 先成文,再審查:editor有更多權力去定義某種技術並在隨後對標准的審查中也擁有更多權力。

CSS WG 主要是工作在第一種模式下,但並非每個WG都是如此。

4. “標准主要是為developers寫的”

標准(specifications)實際上主要是為implementors寫的,比如浏覽器提供商(browser vendors)。有一些editors會將標准寫得更為 author-friendly,但這並非是必須的。

5. “浏覽器不能依靠標准, 因為它們還在變化”

在實際操作中,一旦一個標准達到候選推薦(Candidate Recommendation ,CR)狀態,幾乎就不會再有什麼重大改變了。早期的一些狀態(工作草案”Working Draft”和編輯草稿”Editor’s Draft”)是還在改變過程中的標准,因此,一般都會發生改變。在這些狀態下的標准實現,通常是被看做實驗性質的,甚至在CSS中,是需要加前綴的,以免與將來成形的更為穩定的對應標准發生沖突。在過去幾年裡,authors對實驗性質依賴太多,將它們當做穩定標准。因此,這些實驗性質的標准似乎就是標准,即使不可信,但實際並非如此。即使一個實驗性的特性在web上廣為使用,大多數WGs對於改變它們也頗為躊躇。這並不太好,因為這些特性往往並不完美,但是又不可避免要去使用,因為用其他方式的話將會使很多站點無法工作。

6. “CSS3和CSS4 是用以指代CSS版本的正式術語”

在CSS 2.1之後,CSS被分解成很多模塊,每個模塊都有自己的版本。建立在現有CSS 2.1特性之上的模塊被稱為是”Level 3″,但是新開發出的一些新的特性被認為是從”Level 1″開始的。不幸地是,很多新的起源於Level 3的模塊,進一步促進了”CSS3″這個流行語的普及。然而,很多新模塊(比如Variables),是起源於Level 1的。

從歷史上來看,”CSS3″被用來描述在CSS2.1 之後出現的不管是什麼級別的任何模塊或者明確是Level 3的模塊。這兩種定義都有他們的問題。如果它是用來描述出現才CSS2.1之後的任何模塊,那麼如何區分CSS3 和 CSS4?如果它是用來描述明確屬於Level 3的模塊,那麼它就毫無理由地排除了很多新的CSS模塊。

7. “W3C 測試集是用來測試標准的一致性的”

這是測試的一個很有用的功能,但是從推進W3C Recommendation的角度來說,測試只是為了確保標准中特性的可實現性,這意味著當浏覽器無法正確實現某個特性時,可能並不是這個浏覽器的錯。原因可能是這個標准寫得不好,或者這個特性很難實現如它描述的那樣,或者implementers對這個標准沒有足夠興趣。通常,當有至少兩個浏覽器通過測試以後,該標准就能繼續推行。

8. “W3C = CSS WG + 一些小的重要的WGs”

完全不是這樣。當W3C在1994年創建的時候,CSS根本就不存在。除了CSS,很多其他重要的web技術都是由W3C創建的,要麼是由它獨立創建,要麼是和其他標准組織進行了合作:

  • HTML
  • DOM API
  • Selectors API
  • XMLHttpRequest
  • XML
  • SVG
  • MathML
  • The PNG file format
  • SOAP

還包括很多其他重要的web技術。進一步說, CSS WG甚至不是最大的 WG。例如,WebApps WG有146個成員.

延伸閱讀

  • 關於W3C 進程的詳細文檔
  • W3C本身對 CSS Working Group 的內部看法

本文編譯自:webapptrend.com,原文鏈接:The top 8 web standards myths debunked

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved