HTML5
之后,就到了HTML5,但HTML5并不是由W3C直接制定的。故事的經(jīng)過(guò)是這樣的,到20世紀(jì)末的時(shí)候,還沒(méi)有HTML工作組,W3C內(nèi)部的一些人就開始琢磨了,“HTML也許還可以更長(zhǎng)壽一點(diǎn),只要我們對(duì)它稍加擴(kuò)展就行了。只要把我們放在XHTML上的時(shí)間和精力拿出一部分來(lái),就可以提升一下HTML中的表單,可以讓HTML更接近編程語(yǔ)言,就可以讓它更上一層樓!
于是,在2004年W3C成員內(nèi)部的一次研討會(huì)上,當(dāng)時(shí)Opera公司的代表伊恩·?松↖an Hickson)提出了一個(gè)擴(kuò)展和改進(jìn)HTML的建議。他建議新任務(wù)組可以跟XHTML 2并行,但是在已有HTML的基礎(chǔ)上開展工作,目標(biāo)是對(duì)HTML進(jìn)行擴(kuò)展。W3C投票表決的結(jié)果是——“反對(duì)”,因?yàn)镠TML已經(jīng)死了,XHTML 2才是未來(lái)的方向。然后,Opera、Apple等瀏覽器廠商,以及其他一些成員說(shuō):“那好吧,不指望他們了,我們自已一樣可以做這件事,我們脫離W3C。”他們成立了Web Hypertext Applications Technology Working Group(Web超文本應(yīng)用技術(shù)工作組,WHATWG)——可巧的是,他們自稱工作組,而不是特別小組(task force),這就為HTML5將來(lái)的命運(yùn)埋下了伏筆。
WHATWG決定完全脫離W3C,在HTML的基礎(chǔ)上開展工作,向其中添加一些新東西。這個(gè)工作組的成員里有瀏覽器廠商,因此他們不僅可以說(shuō)加就加,而且還能夠一一實(shí)現(xiàn)。結(jié)果,大家不斷提出一些好點(diǎn)子,并且逐一做到了瀏覽器中。
WHATWG的工作效率很高,不久就初見成效。在此期間,W3C的XHTML 2沒(méi)有什么實(shí)質(zhì)性的進(jìn)展。特別是,如果從實(shí)現(xiàn)的角度來(lái)說(shuō),用原地踏步形容似乎也不為過(guò)。
結(jié)果,一件有意思的事情發(fā)生了。那是在2006年,蒂姆·伯納斯-李寫了一篇博客,說(shuō):“你們知道嗎?我們錯(cuò)了。我們錯(cuò)在企圖一夜之間就讓W(xué)eb跨入XML時(shí)代,我們的想法太不切實(shí)際了,是的,也許我們應(yīng)該重新組建HTML工作組了。”善哉斯言,后來(lái)的故事情節(jié)果真就是這樣發(fā)展的。W3C在2007年組建了HTML5工作組。這個(gè)工作組面臨的第一個(gè)問(wèn)題,毫無(wú)疑問(wèn)就是“我們是從頭開始做起呢,還是在2004年成立的那個(gè)叫WHATWG的工作組既有成果的基礎(chǔ)上開始工作呢?”答案是顯而易見的,他們當(dāng)然希望從已經(jīng)取得的成果著手,以之為基礎(chǔ)展開工作。于是他們又投了一次票,同意“在WHATWG工作成果的基礎(chǔ)上繼續(xù)開展工作”。好了,這下他們要跟WHATWG并肩戰(zhàn)斗了。
第二個(gè)問(wèn)題就是如何理順兩個(gè)工作組之間的關(guān)系。W3C這個(gè)工作組的編輯應(yīng)該由誰(shuí)擔(dān)任?是不是還讓W(xué)HATWG的編輯,也就是現(xiàn)在Google的伊恩·?松瓉(lái)兼任?于是他們又投了一次票,贊成“讓伊恩·?松瓝(dān)任W3C HTML5規(guī)范的編輯,同時(shí)兼任WHATWG的編輯,更有助于新工作組開展工作!
這就是他們投票的結(jié)果,也就是我們今天看到的局面:一種格式,兩個(gè)版本。WHATWG的網(wǎng)站上有這個(gè)規(guī)范,而W3C的站點(diǎn)上同樣也有一份。
如果你不了解內(nèi)情,很可能會(huì)產(chǎn)生這樣的疑問(wèn):“哪個(gè)版本才是真正的規(guī)范?”當(dāng)然,這兩個(gè)版本內(nèi)容是一樣的……基本上相同。實(shí)際上,這兩個(gè)版本將來(lái)還會(huì)分道揚(yáng)鑣,F(xiàn)在已經(jīng)有了分道揚(yáng)鑣的跡象了。我的意思是說(shuō),W3C最終要制定一個(gè)具體的規(guī)范,這個(gè)規(guī)范會(huì)成為一個(gè)工作草案,定格在某個(gè)歷史時(shí)刻。
而WHATWG呢,他們還在不斷地迭代。即使目前我們說(shuō)的HTML5,也不能完全涵蓋WHATWG正在從事的工作。最準(zhǔn)確的理解是他們正在開發(fā)一項(xiàng)簡(jiǎn)單的HTML或Web技術(shù),因?yàn)檫@才是他們工作的核心目標(biāo)。然而,同時(shí)存在兩個(gè)這樣的工作組,這兩個(gè)工作組同時(shí)開發(fā)一個(gè)基本相同的規(guī)范,這無(wú)論如何也容易讓人產(chǎn)生誤解。誤解就可能造成麻煩。
其實(shí)這兩個(gè)工作組背后各自有各自的流程,因?yàn)樗鼈兊睦砟钔耆煌T赪HATWG,可以說(shuō)是一種獨(dú)裁的工作機(jī)制。我剛才說(shuō)了,伊恩·希克森是編輯。他會(huì)聽取各方意見,在所有成員各抒己見,充分陳述自己的觀點(diǎn)之后,他批準(zhǔn)自己認(rèn)為正確的意見。
W3C則截然相反,可以說(shuō)是一種民主的工作機(jī)制。所有成員都可以發(fā)表意見,而且每個(gè)人都有投票表決的權(quán)利。這個(gè)流程的關(guān)鍵在于投票表決。從表面上看,WHATWG的工作機(jī)制讓人不好接受。豈止是不好接受,簡(jiǎn)直是歷史的倒退。相信誰(shuí)都會(huì)認(rèn)為“運(yùn)作任何項(xiàng)目都不能采取這種方式!”
W3C的工作機(jī)制聽起來(lái)讓人很舒服。至少體現(xiàn)了人人平等嘛。但在實(shí)踐中,WHATWG的工作機(jī)制運(yùn)行得非常非常好。我認(rèn)為之所以會(huì)這樣,主要?dú)w功于伊恩·?松。他的的確確是一個(gè)非常稱職的編輯。他在聽取各方意見時(shí),始終可以做到絲毫不帶個(gè)人感情色彩。
從原理上講,W3C的工作機(jī)制很公平,而實(shí)際上卻非常容易在某些流程或環(huán)節(jié)上卡殼,造成工作停滯不前,一件事情要達(dá)成決議往往需要花費(fèi)很長(zhǎng)時(shí)間。那到底哪種工作機(jī)制最好呢?我認(rèn)為,最好的工作機(jī)制是將二者結(jié)合起來(lái)。而事實(shí)也是兩個(gè)規(guī)范制定主體在共同制定一份相同的規(guī)范,我想,這倒是非常有利于兩種工作機(jī)制相互取長(zhǎng)補(bǔ)短。
兩個(gè)工作組之所以能夠同心同德,主要原因是HTML5的設(shè)計(jì)思想。因?yàn)樗麄儚囊婚_始就確定了設(shè)計(jì)HTML5所要堅(jiān)持的原則。結(jié)果,我們不僅看到了一份規(guī)范,也就是W3C站點(diǎn)上公布的那份文檔,即HTML5語(yǔ)言規(guī)范,還在W3C站點(diǎn)上看到了另一份文檔,也就是HTML設(shè)計(jì)原理。而這份文檔的一位編輯今天也來(lái)到了我們大會(huì)的現(xiàn)場(chǎng),她他就是安妮·奇泰絲(Anne Van Kesteren)。如果大家對(duì)這份文檔有問(wèn)題,可以請(qǐng)教安妮。
這份文檔非常好,真的非常出色。這份文檔,可以說(shuō)見證了W3C與WHATWG同心協(xié)力共謀發(fā)展的歷程。難道你們不覺得他們像是一對(duì)歡喜冤家嗎?那他們還怎么同心同德呢?這份文檔忠實(shí)地記錄了他們一道做了什么,他們共同擁護(hù)什么。
接下來(lái),我想要講的就是這份文檔。因?yàn),既然他們能就這份文檔達(dá)成共識(shí),那么我相信,HTML5必將是一個(gè)偉大的規(guī)范,而他們已經(jīng)認(rèn)可這就是他們的共同行動(dòng)綱領(lǐng)。為此,你才會(huì)看到諸如兼容性、實(shí)用性、互用性之類的概念。即便W3C與WHATWG之間再有多大的分歧——確實(shí)相當(dāng)多——至少他們還有這份文檔中記錄的共識(shí)。這一點(diǎn)才是至關(guān)重要的。正因?yàn)樗麄冇辛斯沧R(shí),才有了這份基于共識(shí)描述設(shè)計(jì)原理的文檔。
出處:
責(zé)任編輯:bluehearts
上一頁(yè) HTML5設(shè)計(jì)原理 [3] 下一頁(yè) HTML5設(shè)計(jì)原理 [5]
◎進(jìn)入論壇網(wǎng)頁(yè)制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論。
|