首先要明確一個(gè)概念。我們本書講的web標(biāo)準(zhǔn),不是指XML,而是指為了實(shí)現(xiàn)大量HTML信息向XML標(biāo)準(zhǔn)的過渡,W3C和ECMA制定的一系列的技術(shù)規(guī)范,目前主要包括XHTML1.0、CSS2.0、DOM1.0和ECMA JavaScrit。web標(biāo)準(zhǔn)不僅僅是一個(gè)規(guī)范,而是一系列規(guī)范的總稱。按這些規(guī)范制作的網(wǎng)頁(yè),符合XML格式規(guī)范,內(nèi)容與表現(xiàn)相分離,將使你的頁(yè)面數(shù)據(jù)在以后可以被分享、交換和重用。
1.web標(biāo)準(zhǔn)并不是“標(biāo)準(zhǔn)”,我為什么要遵守?
的確,web標(biāo)準(zhǔn)并不是標(biāo)準(zhǔn),它只是W3C制定的推薦規(guī)范,W3C并沒有強(qiáng)制要求和監(jiān)督業(yè)界去執(zhí)行。web標(biāo)準(zhǔn)組織(webstandards.org)為了便于這些規(guī)范的推廣,才把它們統(tǒng)稱為“web標(biāo)準(zhǔn)”。雖然W3C制定的只是“推薦規(guī)范”,但它已經(jīng)是事實(shí)上的標(biāo)準(zhǔn),世界前500家大IT企業(yè)會(huì)員都認(rèn)可的規(guī)范,你沒有理由懷疑它的廣泛性和可行性。微軟也是W3C的主要會(huì)員,它自己通過的規(guī)范一定會(huì)支持,但出于商業(yè)競(jìng)爭(zhēng)的考慮,微軟通常都會(huì)做一些細(xì)節(jié)調(diào)整來綁定用戶,但這并不影響W3C規(guī)范的方向性和權(quán)威性。
2.DIV+CSS就是web標(biāo)準(zhǔn)嗎?
DIV+CSS只是具體的實(shí)現(xiàn)技術(shù)手段,并不能涵蓋web標(biāo)準(zhǔn)。web標(biāo)準(zhǔn)不僅僅是HTML向XHTML的轉(zhuǎn)換,更重要的是信息結(jié)構(gòu)清晰、內(nèi)容與表現(xiàn)相分離,而DIV+CSS技術(shù)能較好的實(shí)現(xiàn)這種思想。因此,我們看到的多數(shù)符合標(biāo)準(zhǔn)的頁(yè)面都是采用DIV+CSS制作。
(二).關(guān)于web標(biāo)準(zhǔn)的好處
1.科技在進(jìn)步,網(wǎng)絡(luò)帶寬越來越大,速度越來也快,節(jié)省那點(diǎn)字節(jié)有意義嗎?
web標(biāo)準(zhǔn)的好處之一是:用web標(biāo)準(zhǔn)制作的頁(yè)面代碼量小,可以節(jié)省帶寬。這只是web標(biāo)準(zhǔn)附帶的好處,因?yàn)镈IV的結(jié)構(gòu)本身就比TABLE簡(jiǎn)單,TABLE布局的層層嵌套造成代碼臃腫,文件尺寸膨脹。通常情況下,相同表現(xiàn)的頁(yè)面用DIV+CSS比用TABLE布局的節(jié)省2/3的代碼。這是web標(biāo)準(zhǔn)天生的好處。 至于節(jié)省帶寬的意義并不主要針對(duì)普通用戶,而主要針對(duì)網(wǎng)站經(jīng)營(yíng)者,特別是中大型網(wǎng)站,類似新浪、網(wǎng)易這樣的站點(diǎn)。一個(gè)新聞首頁(yè)從500K縮小到170k,假設(shè)一天的pageview是3000萬(保守?cái)?shù)字),那么節(jié)省的服務(wù)器流量就是330k*30000000=9440G,這個(gè)成本的節(jié)約是可觀的。
2.我需要考慮殘障人士(盲人和弱視)嗎?
為殘障人士提供網(wǎng)絡(luò)瀏覽方便是美國(guó)及歐洲一些國(guó)家的法律規(guī)定,由于web標(biāo)準(zhǔn)頁(yè)面的清晰結(jié)構(gòu)、語(yǔ)義完整,一些相關(guān)設(shè)備能很容易的正確提取信息給殘障人士。因此,方便盲人閱讀信息也成為web標(biāo)準(zhǔn)的天生好處之一。至于有人說中國(guó)目前還有很多人為解決溫飽發(fā)愁,哪有時(shí)間考慮殘障人士。這是社會(huì)文明和社會(huì)道德問題,不在本書討論范疇。但如果你頁(yè)面按web標(biāo)準(zhǔn)制作了,就能達(dá)到這個(gè)效果,何樂而不為呢?
(三).關(guān)于布局
1.web標(biāo)準(zhǔn)就不能用表格了嗎?
首先要澄清一個(gè)概念:web標(biāo)準(zhǔn)并不是不允許用TABLE標(biāo)簽,TABLE也是XHTML1.0中的標(biāo)準(zhǔn)標(biāo)簽。我們只是提倡用DIV+CSS布局來替代傳統(tǒng)的table布局。原因是:原來的TABLE布局將表現(xiàn)和內(nèi)容混雜在一起,結(jié)構(gòu)不清晰、內(nèi)容不完整,不利于內(nèi)容的重用。而且從語(yǔ)義上講,W3C制定TABLE標(biāo)簽時(shí)候只是用它來做表格結(jié)構(gòu)定義的,文檔中如果有表格,那么就應(yīng)該用TABLE。而排版、定位這些表現(xiàn)的東西應(yīng)該由CSS來控制。
2.我用table布局改版也很方便,你用CSS不一定就比我效率高。
個(gè)別情況或者個(gè)別項(xiàng)目,有可能象你說的,用table布局改版也很快。但這不是長(zhǎng)遠(yuǎn)之計(jì),我們需要透過現(xiàn)象看本質(zhì),web標(biāo)準(zhǔn)將內(nèi)容與表現(xiàn)相剝離,所有樣式、風(fēng)格、布局等等表現(xiàn)的東西獨(dú)立出來,由CSS或者XSLT來單獨(dú)控制,這樣的剝離后,改版才是真正的方便。而且“改版”并不僅僅是瀏覽器上的改版,同樣的頁(yè)面如果我需要發(fā)布到手機(jī)上,符合web標(biāo)準(zhǔn)的頁(yè)面就只需要修改樣式文件,而table布局的則需要完全重做,未來如果還需要再發(fā)布到網(wǎng)絡(luò)電視上或者其它新設(shè)備上呢?CSS的效率一定比table高。
3.用web標(biāo)準(zhǔn)能制作出漂亮的頁(yè)面嗎?
由于一開始研究和推廣web標(biāo)準(zhǔn)的人士做得頁(yè)面都比較“樸素”,因此引起大家的誤解,以為web標(biāo)準(zhǔn)的頁(yè)面就是簡(jiǎn)潔、輕圖形、輕視覺效果的。實(shí)際上,用TABLE布局能夠?qū)崿F(xiàn)的頁(yè)面效果,用CSS也基本上能實(shí)現(xiàn)。這個(gè)問題不需要多解釋,看看國(guó)內(nèi)外新建立的web標(biāo)準(zhǔn)站點(diǎn)就清楚了。例如:www.macromedia.com,www.mp3.com
(四).關(guān)于瀏覽器兼容
1.我不需要關(guān)心web標(biāo)準(zhǔn),IE占有99%的市場(chǎng),我做的頁(yè)面只要IE能看就可以了。
“以用戶為核心”通常都是反對(duì)web標(biāo)準(zhǔn)者的檔箭牌,實(shí)際上這是虛偽的“以用戶為核心”。你不能保證IE永遠(yuǎn)是壟斷瀏覽器市場(chǎng),你也不能保證IE不做任何改變(事實(shí)上,微軟的IE7已經(jīng)開始改善對(duì)web標(biāo)準(zhǔn)的支持)。堅(jiān)持用html+table布局制作的頁(yè)面將是“死”的信息,不方便搜索,無法重用與共享,從長(zhǎng)遠(yuǎn)來講,這才是對(duì)用戶最大的傷害。
2.為什么web標(biāo)準(zhǔn)的頁(yè)面兼容性并不好?
我們說web標(biāo)準(zhǔn)的優(yōu)勢(shì)是兼容性好,這個(gè)兼容是指向后兼容,向新瀏覽器、新設(shè)備兼容。對(duì)已有的瀏覽器來說,因?yàn)樗鼈儗?duì)web標(biāo)準(zhǔn)的支持程度不一樣,因此會(huì)出現(xiàn)不同瀏覽器下頁(yè)面變形的情況。我們必須采用一些"hack"技巧來實(shí)現(xiàn)不同瀏覽器的兼容。這是無奈、也是不可避免的,是web技術(shù)發(fā)展必然要經(jīng)歷的一個(gè)過程,是我們向XML過渡必須克服的一個(gè)困難。
(五).其它
1.沒有好用的開發(fā)工具,難道要我手寫代碼?
是的。我們建議你手寫代碼,可以促進(jìn)你更加深刻理解web標(biāo)準(zhǔn)。事實(shí)上,很多開發(fā)軟件已經(jīng)開始支持web標(biāo)準(zhǔn)。你可以看看最新版的Dreamweaver 8,還有Adobe的Golive,微軟的Visual Studio.NET 2005,這些工具都已經(jīng)很好的支持web標(biāo)準(zhǔn)頁(yè)面的開發(fā)。當(dāng)新技術(shù)出現(xiàn)時(shí),我們的態(tài)度應(yīng)該是去了解、實(shí)踐和評(píng)估,而不是盲目反對(duì)或者坐等其成,那樣你永遠(yuǎn)都是落后者。
2.老板不懂,客戶也沒有要求,我為什么要用web標(biāo)準(zhǔn)?
在自己或者開發(fā)團(tuán)隊(duì)都不熟悉web標(biāo)準(zhǔn)技術(shù)的情況下,新項(xiàng)目采用web標(biāo)準(zhǔn)的確有風(fēng)險(xiǎn)(技術(shù)和成本風(fēng)險(xiǎn)),可以評(píng)估后再?zèng)Q定是否采用web標(biāo)準(zhǔn)。但是如果有能力采用標(biāo)準(zhǔn)依然蒙混老板和客戶,這就屬于職業(yè)道德和敬業(yè)精神的問題。
三:未來與方向
我想你和我一樣,都關(guān)心WEB的未來會(huì)是怎么樣的,下一輪的新技術(shù)熱點(diǎn)在什么方向。其實(shí),要回答這個(gè)問題,沒有誰比W3C更有權(quán)威了。只要看看W3C在做什么,正在研究什么規(guī)范就知道WEB的走向和趨勢(shì)了。
W3C明確地告訴我們:XML是未來的趨勢(shì)毋庸置疑,開放和共享是互聯(lián)網(wǎng)的精神和根本動(dòng)力。
蒂姆.貝納斯-李(Tim Berners-Lee) ,W3C領(lǐng)導(dǎo)人,萬維網(wǎng)之父,說到:XML提供了信息交換的手段,但這僅僅只是開始。我們的目標(biāo)是web的語(yǔ)義化,即:使得web上的信息內(nèi)容更加容易理解、更便于交換和共享,RDF和OWL語(yǔ)言將在這方面提供更強(qiáng)大的支持。
web技術(shù)即將迎接新一輪的變革和發(fā)展,如果你還在猶豫是不是需要學(xué)習(xí)web標(biāo)準(zhǔn),那么你將失去這次機(jī)會(huì)。