這是關(guān)于W3C工作組的系列文章的第一篇,主要關(guān)注CSS Working Group及相關(guān)工作。我覺(jué)得在我開(kāi)始發(fā)表文章之前,有必要先清除一些關(guān)于web標(biāo)準(zhǔn)的廣為流傳的神話,并簡(jiǎn)單講一下標(biāo)準(zhǔn)化進(jìn)程是如何工作的。
一些術(shù)語(yǔ)
為了簡(jiǎn)單及精確起見(jiàn),下面列出了一些術(shù)語(yǔ),這些術(shù)語(yǔ)在本文中得以使用,在大多數(shù)與標(biāo)準(zhǔn)相關(guān)的討論中也使用了這些術(shù)語(yǔ):
Authors:開(kāi)發(fā)人員,設(shè)計(jì)人員,或者說(shuō)任何使用web技術(shù)的人。
Implementors:例如,那些提供開(kāi)發(fā)者工具(developer tools)的公司。
Spec editors:撰寫(xiě)標(biāo)準(zhǔn)的人。與人們慣常的想法相反,他們并不是創(chuàng)造web技術(shù)的人。在下面你將更多讀到關(guān)于這一點(diǎn)的內(nèi)容。
1. ” W3C 創(chuàng)建了標(biāo)準(zhǔn),然后瀏覽器必須去遵循”
瀏覽器創(chuàng)新與W3C創(chuàng)新(browser innovation vs W3C innovation)是一個(gè)廣為流傳的二元對(duì)立,然而這樣的對(duì)立是錯(cuò)誤的想法。簡(jiǎn)單來(lái)說(shuō),W3C實(shí)際上是implementors!Web標(biāo)準(zhǔn)是通過(guò)在Working Groups (WGs)中達(dá)成共識(shí)來(lái)實(shí)現(xiàn)的。這些WGs包括了各implementors的代表,主要是瀏覽器的代表。每個(gè)WG都有少量W3C成員,但他們只占少數(shù)。例如,在CSS WG中,現(xiàn)在有74名成員,其中只有4個(gè)(5.4%)是W3C成員(Bert Bos, Richard Ishida, Chris Lilley 以及 Liam Quin)。當(dāng)然,瀏覽器通常自己先進(jìn)行創(chuàng)新以后,然后隨后再進(jìn)行標(biāo)準(zhǔn)化(例如,rag & Drop API, CSS transitions, CSS transforms, CSS animations),但這樣是很冒風(fēng)險(xiǎn)的,應(yīng)該盡力避免。如果一個(gè)特寫(xiě)在標(biāo)準(zhǔn)化之前就廣為流傳了,那么,WG可能被迫去解決欠佳語(yǔ)法問(wèn)題。
2. “你必須在大公司中工作,才能影響web標(biāo)準(zhǔn)”
如果你是在為一個(gè)成員公司工作,成為一個(gè)Working Group成員確實(shí)要容易得多。當(dāng)然,除此以外,你還可以成為一個(gè)特邀專家(Invited Expert),但這對(duì)大多數(shù)WGs來(lái)說(shuō),都是分成困難的。CSS WG現(xiàn)在只有四個(gè)特邀專家(Molly Holzschlag, Koji Ishii, Brad Kemper 以及 Anton Prowse),在74名成員中只占5.4%。
然而,如果你想要有所貢獻(xiàn),并不非得是WG成員。每個(gè)WG都有一個(gè)公開(kāi)郵件列表,每個(gè)好的想法都會(huì)被考慮,不論這個(gè)想法來(lái)自于誰(shuí)。通常,一直在跟進(jìn)某個(gè)列表的人可能會(huì)有更為有效的建議,因?yàn)樗麄儗?duì)相關(guān)術(shù)語(yǔ)更為屬性,并明白其中可能有的局限,但是這些對(duì)于提出一個(gè)值得考慮的想法來(lái)說(shuō),都不是必要的。
類似的,壞的想法都會(huì)被拒絕,即使這個(gè)想法來(lái)自于WG成員。這對(duì)于保持標(biāo)準(zhǔn)的高質(zhì)量來(lái)說(shuō)是非常重要的,因?yàn)槿魏稳硕伎梢约尤隬G。對(duì)于一個(gè)公司來(lái)說(shuō),要想成為W3C成員,所要做的只是有足夠資金去交年費(fèi)。任何一個(gè)來(lái)自于W3C成員公司的人都可以成員W3C成員,只要他們有時(shí)間,并且他們的雇主同意他們這樣做。
3. “Spec editors創(chuàng)建web技術(shù)”
實(shí)際情形并非總是如此。W3C采取兩種方式工作模式:
先審查,再成文:首先,每一個(gè)細(xì)節(jié)都會(huì)在WG中進(jìn)行討論,然后editor必須將討論結(jié)果寫(xiě)成正式文字 (正如某人所巧妙表達(dá)的那樣,”忠實(shí)記錄工作組的共識(shí)”).在這種工作模式下,editor和其他任何活躍參與這個(gè)討論的人有相同權(quán)力。
先成文,再審查:editor有更多權(quán)力去定義某種技術(shù)并在隨后對(duì)標(biāo)準(zhǔn)的審查中也擁有更多權(quán)力。
CSS WG 主要是工作在第一種模式下,但并非每個(gè)WG都是如此。
4. “標(biāo)準(zhǔn)主要是為developers寫(xiě)的”
標(biāo)準(zhǔn)(specifications)實(shí)際上主要是為implementors寫(xiě)的,比如瀏覽器提供商(browser vendors)。有一些editors會(huì)將標(biāo)準(zhǔn)寫(xiě)得更為 author-friendly,但這并非是必須的。
5. “瀏覽器不能依靠標(biāo)準(zhǔn), 因?yàn)樗鼈冞€在變化”
在實(shí)際操作中,一旦一個(gè)標(biāo)準(zhǔn)達(dá)到候選推薦(Candidate Recommendation ,CR)狀態(tài),幾乎就不會(huì)再有什么重大改變了。早期的一些狀態(tài)(工作草案”Working Draft”和編輯草稿”Editor’s Draft”)是還在改變過(guò)程中的標(biāo)準(zhǔn),因此,一般都會(huì)發(fā)生改變。在這些狀態(tài)下的標(biāo)準(zhǔn)實(shí)現(xiàn),通常是被看做實(shí)驗(yàn)性質(zhì)的,甚至在CSS中,是需要加前綴的,以免與將來(lái)成形的更為穩(wěn)定的對(duì)應(yīng)標(biāo)準(zhǔn)發(fā)生沖突。在過(guò)去幾年里,authors對(duì)實(shí)驗(yàn)性質(zhì)依賴太多,將它們當(dāng)做穩(wěn)定標(biāo)準(zhǔn)。因此,這些實(shí)驗(yàn)性質(zhì)的標(biāo)準(zhǔn)似乎就是標(biāo)準(zhǔn),即使不可信,但實(shí)際并非如此。即使一個(gè)實(shí)驗(yàn)性的特性在web上廣為使用,大多數(shù)WGs對(duì)于改變它們也頗為躊躇。這并不太好,因?yàn)檫@些特性往往并不完美,但是又不可避免要去使用,因?yàn)橛闷渌绞降脑拰?huì)使很多站點(diǎn)無(wú)法工作。
6. “CSS3和CSS4 是用以指代CSS版本的正式術(shù)語(yǔ)”
在CSS 2.1之后,CSS被分解成很多模塊,每個(gè)模塊都有自己的版本。建立在現(xiàn)有CSS 2.1特性之上的模塊被稱為是”Level 3″,但是新開(kāi)發(fā)出的一些新的特性被認(rèn)為是從”Level 1″開(kāi)始的。不幸地是,很多新的起源于Level 3的模塊,進(jìn)一步促進(jìn)了”CSS3″這個(gè)流行語(yǔ)的普及。然而,很多新模塊(比如Variables),是起源于Level 1的。
從歷史上來(lái)看,”CSS3″被用來(lái)描述在CSS2.1 之后出現(xiàn)的不管是什么級(jí)別的任何模塊或者明確是Level 3的模塊。這兩種定義都有他們的問(wèn)題。如果它是用來(lái)描述出現(xiàn)才CSS2.1之后的任何模塊,那么如何區(qū)分CSS3 和 CSS4?如果它是用來(lái)描述明確屬于Level 3的模塊,那么它就毫無(wú)理由地排除了很多新的CSS模塊。
7. “W3C 測(cè)試集是用來(lái)測(cè)試標(biāo)準(zhǔn)的一致性的”
這是測(cè)試的一個(gè)很有用的功能,但是從推進(jìn)W3C Recommendation的角度來(lái)說(shuō),測(cè)試只是為了確保標(biāo)準(zhǔn)中特性的可實(shí)現(xiàn)性,這意味著當(dāng)瀏覽器無(wú)法正確實(shí)現(xiàn)某個(gè)特性時(shí),可能并不是這個(gè)瀏覽器的錯(cuò)。原因可能是這個(gè)標(biāo)準(zhǔn)寫(xiě)得不好,或者這個(gè)特性很難實(shí)現(xiàn)如它描述的那樣,或者implementers對(duì)這個(gè)標(biāo)準(zhǔn)沒(méi)有足夠興趣。通常,當(dāng)有至少兩個(gè)瀏覽器通過(guò)測(cè)試以后,該標(biāo)準(zhǔn)就能繼續(xù)推行。
8. “W3C = CSS WG + 一些小的重要的WGs”
完全不是這樣。當(dāng)W3C在1994年創(chuàng)建的時(shí)候,CSS根本就不存在。除了CSS,很多其他重要的web技術(shù)都是由W3C創(chuàng)建的,要么是由它獨(dú)立創(chuàng)建,要么是和其他標(biāo)準(zhǔn)組織進(jìn)行了合作:
HTML
DOM API
Selectors API
XMLHttpRequest
XML
SVG
MathML
The PNG file format
SOAP
還包括很多其他重要的web技術(shù)。進(jìn)一步說(shuō), CSS WG甚至不是大的 WG。例如,WebApps WG有146個(gè)成員.
文章標(biāo)題:WEB標(biāo)準(zhǔn)化進(jìn)程
地址分享:http://redsoil1982.com.cn/news16/326016.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、虛擬主機(jī)、小程序開(kāi)發(fā)、電子商務(wù)、面包屑導(dǎo)航、網(wǎng)站改版
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源:
創(chuàng)新互聯(lián)