它是怎樣運作的
進入漸進增強的思維方法很簡單:只要從內容開始往外想。內容形成堅實的基石,在此之上你才能添加樣式和交互。如果你愛吃糖果,可以將它想像成一顆M&M花生巧克力:
(圖示:漸進增強的巧克力層)
從你的內容花生開始,將其標記為富含語義的(X)HTML. 接著給內容裹上一層富含奶油的CSS. 最后,添加JavaScript作為糖果硬殼,這就做成了一顆可口無比的美味(并使得它不會在你手里融化)。
如果你非常熟悉Web標準化運動的口號——分離、分離、分離——這個類比就相當清楚了。基于Web標準的開發(fā)經(jīng)常被比作 夾心蛋糕(或者,可以更富想像力地比作為 松糕(譯注:一種多層蛋糕,可以夾水果、奶油、沙司等))。
我更傾向拿M&M花生巧克力來類比,因為它的外層把內容完全包裹住了,這和我們的樣式與腳本將內容包裹起來幾乎是一樣的。
如果你允許我的食物類比論再多講一點(希望不會讓你感覺饑餓),我將解釋為什么這種方式更好以及在這種模式下各層之間是如何交互的。
花生仁
有些人喜歡花生。實際上,有人喜歡花生勝過M&M花生巧克力。類似地,有些家伙(以及像搜索引擎爬蟲這類東西)只想要內容。
還有些人無福消受花生上的巧克力和糖果層(例如糖尿病患者)。和他們類似,移動設備或老瀏覽器用戶可能無法看到你漂亮的設計,或者與你流暢的AJAX驅動的界面交互。
確保你的標記能夠將所包裹的內容的細節(jié)最大限度地傳達出來,這對于給這些用戶提供基本體驗至關重要。
巧克力外衣
接下來,你可以將內容小心地浸入芳香美味的CSS暖浴中了。不過在你跳進糖果硬殼之前,還有些額外的考慮。
有的人愛吃巧克力裹著的花生。這些人就像中級用戶,他們的瀏覽器有比較好的CSS支持,但可能沒有很好的JavaScript支持;蛘,可能在他們工作的公司里,IT安全人員對JavaScript極其病態(tài)性地恐懼。對他們來說,JavaScript就可能完全被禁用了。
無論是傾向于愛吃 巧克力花生(譯注:一種直接用巧克力覆蓋的花生,沒有外層硬殼,類似于有內容和CSS但沒有JavaScript支持的網(wǎng)站)還是被限制只能吃 巧克力花生,這些人都應該得到滿足。這里有幾種漸進增強的方式可以將樣式應用于內容,這將是本系列第二篇文章的話題。
糖果硬殼
最后,你可以將JavaScript添加到內容和樣式的混合體中了。JavaScript提供了富交互的可能性,同時具有操作內容層和展現(xiàn)層并與其交互的能力,這實際上使得JavaScript成為了把網(wǎng)站帶入“體驗”高度的一味配料。
我不確定糖果硬殼到底是怎樣添加到M&M花生巧克力上的(我猜是另一種什么浸蘸過程吧),但是,你腦中想著漸進增強的話,在你的網(wǎng)站上加入基于JavaScript的功能和交互就輕而易舉了。另外,就如M&M花生巧克力有各種各樣顏色一樣,依據(jù)所運行的瀏覽器和設備的能力,JavaScript的體驗也可以各不相同。
正如你可能知道的那樣,這種類型的開發(fā)叫做無侵入式(Unobtrusive)JavaScript. 我將在本系列的第三篇和最后一篇文章中講述這些技巧和實踐。
都放在一起
一旦理解了漸進增強的理念并開始在實踐中使用,那么用漸進增強進行開發(fā)就非常簡單了。也許比做糖果還簡單。本系列接下來的兩篇文章將幫助你使用CSS和JavaScript來磨練你的漸進增強技巧,并向你展示怎樣把哲學轉換成代碼。
譯注:
- Graceful Degradation有譯為預留退路、平穩(wěn)退化的,但我覺得這兩個翻譯沒有表達原意,不如直接翻譯成優(yōu)雅降級的好。
- Unobtrusive有譯為不唐突的、分離的、低調的,在Web開發(fā)領域,我覺得翻譯成“無侵入的”最能表達原意。
2008年10月8日 射雕&安吉 譯于杭州 2008年10月9日 審校
本文鏈接:http://www.95time.cn/tech/web/2008/6226.asp
出處:歲月如歌
責任編輯:moby
上一頁 理解"漸進增強" [1] 下一頁
◎進入論壇網(wǎng)頁制作、WEB標準化版塊參加討論,我還想發(fā)表評論。
|