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