1. 程式人生 > >第143天:漸進增強和優雅降級之間的不同

第143天:漸進增強和優雅降級之間的不同

改進 開發 之間 lin log -i 焦點 progress 策略

漸進增強和優雅降級之間的不同

1、漸進增強

.transition{
  -webkit-transition: all .5s;
     -moz-transition: all .5s;
       -o-transition: all .5s;
          transition: all .5s;  
}

2、優雅降級

.transition{ 
       transition: all .5s;
    -o-transition: all .5s;
   -moz-transition: all .5s;
 -webkit-transition: all .5s
; }

第一個例子的寫法叫做漸進增強(progressive enhancement),第二個例子的寫法叫做優雅降級(graceful degradation)。(關於漸進增強,可以參考張鑫旭的文章: http://www.zhangxinxu.com/wordpress/?p=788)

3、什麽是漸進增強(progressive enhancement)、優雅降級(graceful degradation)呢?

  漸進增強(progressive enhancement):針對低版本瀏覽器進行構建頁面,保證最基本的功能,然後再針對高級瀏覽器進行效果、交互等改進和追加功能達到更好的用戶體驗。(從被所有瀏覽器支持的基本功能開始,逐步地添加那些只有新式瀏覽器才支持的功能,向頁面添加無害於基礎瀏覽器的額外樣式和功能。當瀏覽器支持時,它們會自動地呈現出來並發揮作用。)

  優雅降級(graceful degradation):一開始就構建完整的功能,然後再針對低版本瀏覽器進行兼容。(Web站點在所有新式瀏覽器中都能正常工作,如果用戶使用的是老式瀏覽器,則代碼會檢查以確認它們是否能正常工作。由於IE獨特的盒模型布局問題,針對不同版本的IE的hack實踐過優雅降級了,為那些無法支持功能的瀏覽器增加候選方案,使之在舊式瀏覽器上以某種形式降級體驗卻不至於完全失效。)

  區別優雅降級是從復雜的現狀開始,並試圖減少用戶體驗的供給,而漸進增強則是從一個非常基礎的、能夠起作用的版本開始,並不斷擴充,以適應未來環境的需要


4、漸進增強觀點:

  漸進增強觀點認為應該關註於內容本身

。內容是我們建立網站的誘因,有的網站展示它,有的則收集它,有的尋求、有的操作,還有的網站甚至包含以上的種種,但相同點是他們全都涉及到內容,這使得“漸進增強”成為一種更為合理的設計範例。這也是它立即被Yahoo!所采納並用以構建其“分級式瀏覽器支持(Graded Browser Support)“策略的原因所在。

5、優雅降級觀點:

  優雅降級觀點認為應該針對那些最高級、最完善的瀏覽器來設計網站。而將那些被認為“過時”或有功能缺失的瀏覽器下的測試工作安排在開發周期的最後階段,並把測試對象限定為主流瀏覽器(如IE、Mozilla等)的前一個版本。

在這種設計範例下,舊版的瀏覽器被認為僅能提供“簡陋卻無妨(poor,but passable)”的瀏覽體驗。你可以做一些小的調整來適應某個特定的瀏覽器。但由於它們並非我們所關註的焦點,因此除了修復較大的錯誤之外,其它的差異將被直接忽略。

第143天:漸進增強和優雅降級之間的不同