從GMail來看W3C網(wǎng)頁標(biāo)準(zhǔn)和Ajax_Web標(biāo)準(zhǔn)教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!
        不可否認(rèn),W3C網(wǎng)頁標(biāo)準(zhǔn)剛出來的時(shí)候的確很吸引人。那時(shí)因?yàn)閒irefox的出現(xiàn),沖擊了瀏覽器市場,使得大家為了一個(gè)小狐貍,而掀起一場網(wǎng)頁標(biāo)準(zhǔn)的風(fēng)波,但是對(duì)于設(shè)計(jì)師來說帶來什么?在這場風(fēng)波我看到的最多就是技術(shù)的泛濫。

        和一些designer聊天,第一句話就問,“你的網(wǎng)頁標(biāo)準(zhǔn)化了”嗎,“你的網(wǎng)頁又有幾處錯(cuò)誤”。無形中這些話就給我們這些designer來說帶來很大壓力。每次更新網(wǎng)頁都很害怕因?yàn)橐恍┬⌒〉母膭?dòng)導(dǎo)致一些小錯(cuò)誤。似乎W3C成了一種追捧現(xiàn)象。就如同前段時(shí)間的Ajax熱一樣。但我們更加是應(yīng)該理性分析,我們什么時(shí)候才應(yīng)該用到這些技術(shù)。

        我舉一些例子

        1.Div和Table之間的誤會(huì)

        剛開始接觸到W3C的時(shí)候,首先面臨的問題是要把傳統(tǒng)的table布局給去掉,利用Div CSS做結(jié)構(gòu)。這個(gè)是網(wǎng)頁標(biāo)準(zhǔn)化的精髓。但是問題來了,大部分人都因?yàn)檫@個(gè)而誤會(huì)說 "Table沒有用了" "你的網(wǎng)頁還有table阿,out了"。其實(shí)不然,假如這樣想,那就大錯(cuò)特錯(cuò)了。W3C只是要求不用table布局,沒有說table不標(biāo)準(zhǔn)呀。

        每一個(gè)web標(biāo)簽都有它存在的意義,不是說完全遺棄某個(gè)標(biāo)簽。 我們應(yīng)該合理利用好每一個(gè)標(biāo)簽,table并沒有被放棄,相反的table只是回到他的本職工作---用來顯示數(shù)據(jù),當(dāng)你要在網(wǎng)頁上顯示大量的表格數(shù)據(jù)的時(shí)候,就應(yīng)該用table了,這樣你可以花最少的時(shí)間,達(dá)到最好的效果。假如你一定要用

        來模擬也可以,但是你將因此耗費(fèi)過多時(shí)間在CSS上面,增加很多多余的代碼量,而且還不一定能達(dá)到你想要的效果。

        最有說服力站點(diǎn):GMail 你說它不標(biāo)準(zhǔn)嗎?不是,你說它全是Div CSS嗎,也不是。它是Div CSS Table結(jié)構(gòu),它合理了利用好了每個(gè)網(wǎng)頁標(biāo)簽。嚴(yán)格來說GMail并沒有按照W3C XHTML 1.0標(biāo)準(zhǔn)去做。首先,它的網(wǎng)頁沒有用到 XHTML 1.0 的過渡定義。因?yàn)樗鼪]有辦法用,假如用了這個(gè)定義去設(shè)計(jì)GMail。估計(jì)大家看不到那么出色的程序了。即使沒有用這個(gè)標(biāo)準(zhǔn)定義,但是它的CSS能寫出這么好的兼容性也是一種最大的成功。

        2.Ajax我們是否真的需要

        最先帶出這個(gè)話題的是GMail,這個(gè)時(shí)候就開始很多人開始研究這個(gè)老技術(shù)的混合體。現(xiàn)在也開始在泛濫,但是很多時(shí)候我們不需要Ajax。簡單的說,對(duì)于一個(gè)普通站點(diǎn)來說,你要宣傳就必須要讓搜索引擎找到你,但是Ajax最大的問題就是搜索引擎無法判定你里面的內(nèi)容。就算你的技術(shù)多么成熟,做出來的東西不方便宣傳,那也是一種失敗。

        Ajax的主要是為提高程序的易用性為主,所以很多時(shí)候都會(huì)應(yīng)用在后臺(tái)程序中(當(dāng)然部分操作也可以應(yīng)用到前臺(tái))。來增強(qiáng)程序的人性化,以及易用性。

        Ajax最主要是實(shí)現(xiàn)了異步更新的功能,這樣使網(wǎng)頁不用同步顯示更多信息。有效的減輕了服務(wù)器的負(fù)擔(dān)。而實(shí)現(xiàn)異步主要是因?yàn)镴avascript,而不是XML。為什么這樣說呢,沒有XML,Javascript同樣可以實(shí)現(xiàn)異步。但是沒有Javascript,光有XML也沒用。XML只是作為一種數(shù)據(jù)來源。我分析了GMail的代碼很長一段時(shí)間了,又一點(diǎn)很讓我感到很希奇,GMail用到XML的地方其實(shí)很少。它主要還是利用了大量的Javascript。里面用得最多的是Javascript和iframe,它解決Js回退靠的是iframe、輸出郵件,它直接輸出了Javascript代碼到一個(gè)iframe的頁面里面(直接看代碼就可以看到),然后又利用Javascript重新構(gòu)造這些JS數(shù)組,然后輸出到網(wǎng)頁上。中間的JS數(shù)組其實(shí)已經(jīng)是直接寫到了頁面的,這樣的過程用到的XML就很少了。整個(gè)GMail用得最多的是異步的JS方式。這樣一來GMail也是傳統(tǒng),都是框架在利用JS控制著這個(gè)網(wǎng)頁。而不是我們現(xiàn)在很多Ajax程序,一個(gè)頁面上全是讀XML,這樣的方式是比較愚蠢的。

        我們要做的是利用好Ajax里面的 Javascript ,而XML只能作為必要的輔助。

        呵呵,文章結(jié)束了,以上均是我工作中碰到的問題的一些總結(jié)性的看法。希望大家不要因?yàn)檫@兩個(gè)技術(shù)而“誤入歧途”,重要的是理智考慮我們的網(wǎng)頁如何給這兩個(gè)技術(shù)一個(gè)合理的位置。

        最后,希望有能力的朋友多去研究研究GMail,你會(huì)發(fā)現(xiàn)很多和業(yè)界炒作的所謂新技術(shù)有很多出入。

        我對(duì)GMail的評(píng)價(jià)是一個(gè)很合理利用了以上兩點(diǎn)技術(shù)的一個(gè)很成功的傳統(tǒng)程序。

      來源:無憂整理//所屬分類:Web標(biāo)準(zhǔn)教程/更新時(shí)間:2006-11-03
      相關(guān)Web標(biāo)準(zhǔn)教程