2017-08-28讀書筆記(優(yōu)雅降級(jí)和漸進(jìn)增強(qiáng))

在看各種文章的時(shí)候兩個(gè)詞匯優(yōu)雅降級(jí)和漸進(jìn)增強(qiáng)。然后我就搜了一下,看了一下具體的含義。

參考的是這個(gè) stackoverflow-What is the difference between Progressive Enhancement and Graceful Degradation?

這兩個(gè)詞語分別代表了兩種書寫css的規(guī)范。具體形式如下:

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

上面這兩種就是了,上面那種是漸進(jìn)增強(qiáng),可以看到是從支持長(zhǎng)一點(diǎn)的-webkit私有屬性開始,到最后的支持現(xiàn)在幾乎所有主流瀏覽器的無私有屬性寫法,代表了瀏覽器的一點(diǎn)點(diǎn)的適配更多寫法的漸進(jìn)寫法。后面那種相反,是從最新的瀏覽器寫法在向下優(yōu)雅降級(jí)。

但是什么是漸進(jìn)增強(qiáng)(progressive enhancement)、優(yōu)雅降級(jí)(graceful degradation)呢?

漸進(jìn)增強(qiáng) progressive enhancement:針對(duì)低版本瀏覽器進(jìn)行構(gòu)建頁面,保證最基本的功能,然后再針對(duì)高級(jí)瀏覽器進(jìn)行效果、交互等改進(jìn)和追加功能達(dá)到更好的用戶體驗(yàn)。

優(yōu)雅降級(jí) graceful degradation:一開始就構(gòu)建完整的功能,然后再針對(duì)低版本瀏覽器進(jìn)行兼容。

區(qū)別:優(yōu)雅降級(jí)是從復(fù)雜的現(xiàn)狀開始,并試圖減少用戶體驗(yàn)的供給,而漸進(jìn)增強(qiáng)則是從一個(gè)非?;A(chǔ)的,能夠起作用的版本開始,并不斷擴(kuò)充,以適應(yīng)未來環(huán)境的需要。降級(jí)(功能衰減)意味著往回看;而漸進(jìn)增強(qiáng)則意味著朝前看,同時(shí)保證其根基處于安全地帶。

看著這兩點(diǎn)似乎也沒什么大的區(qū)別,感覺看上去也就是寫無關(guān)緊要的區(qū)別,但是實(shí)際上,這是兩種思維邏輯、是根本上面產(chǎn)生的不同。

優(yōu)雅降級(jí)的觀點(diǎn)是應(yīng)該針對(duì)那些最高級(jí)、功能最全的瀏覽器來設(shè)計(jì)網(wǎng)站。其他的都只是在這個(gè)基礎(chǔ)上考慮的一些補(bǔ)充和適配而已。

在這種設(shè)計(jì)范例下,舊版的瀏覽器被認(rèn)為僅能提供“簡(jiǎn)陋卻無妨 (poor, but passable)” 的瀏覽體驗(yàn)。你可以做一些小的調(diào)整來適應(yīng)某個(gè)特定的瀏覽器。但由于它們并非我們所關(guān)注的焦點(diǎn),因此除了修復(fù)較大的錯(cuò)誤之外,其它的差異將被直接忽略。

而漸進(jìn)增強(qiáng)的觀點(diǎn)則認(rèn)為應(yīng)更多的關(guān)注在內(nèi)容本身。

內(nèi)容是我們建立網(wǎng)站的誘因。有的網(wǎng)站展示它,有的則收集它,有的尋求,有的操作,還有的網(wǎng)站甚至?xí)陨系姆N種,但相同點(diǎn)是它們?nèi)忌婕暗絻?nèi)容。這使得“漸進(jìn)增強(qiáng)”成為一種更為合理的設(shè)計(jì)范例。這也是它立即被 Yahoo! 所采納并用以構(gòu)建其“分級(jí)式瀏覽器支持 (Graded Browser Support)”策略的原因所在。

這是兩者產(chǎn)生差異的根本,但是其實(shí)兩者的差異也并沒有這么大,畢竟大多數(shù)這種代碼都是一致的,只不過是代碼規(guī)范上的不同。到底要選擇哪一種就看各自的喜好了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容