优雅降级和渐进增强

优雅降级和渐进增强

一、什么是优雅降级和渐进增强

1、优雅降级(Graceful Degradation)

	一开始就构建站点的完整功能,然后针对浏览器测试和修复。实现所有的效果和功能。之后再一步步去兼容低版本的浏览器,逐渐减少部分效果,只保留能够实现网站基本操作的功能。以保证网站在低版本的浏览器上也能正常操作。

2、渐进增强(Progressive Enhancement)

	一开始就针对低版本浏览器进行构建页面,完成基本的功能,然后再针对高级浏览器进行效果、交互、追加功能达到更好的体验。逐步增加功能和效果,使之在高本版浏览器中有更好的表现,更多的交互功能。

二、为什么会出现优雅降级和渐进增强

	因浏览器兼容问题,不同版本浏览器之间互相不兼容,前端新技术的发展,旧版本的浏览器不支持新技术,使用新技术开发的网页在旧版本浏览器中就无法正常显示。特别是远古时期的ie系列浏览器,甚至相邻两个版本的ie浏览器之间都不兼容。但因为是windows内置浏览器,至今仍有部分用户使用。为了保证不同版本浏览器都有共同或更优化的用户体验,我们不得不与浏览器兼容顽强斗争。而渐进增强和优雅降级两种不同的开发流程,也是在我们项目初期做调研选型时会考虑的一个点。
	其实渐进增强和优雅降级并非什么新概念,只是旧的概念换了一个新的说法。在传统软件开发中,经常会提到**向上兼容和向下兼容的概念。渐进增强相当于向上兼容,而优雅降级相当于向下兼容。向下兼容指的是高版本支持低版本的或者说后期开发的版本支持和兼容早期开发的版本,向上兼容的很少。大多数软件都是向下兼容的,比如说Office2010能打开Office2007,Office2006,Office2005,Office2003等建的word文件,但是用Office2003就不能打开用Office2007,Office2010等建的word文件!

三、优雅降级和渐进增强的区别

渐进增强优雅降级只是看待同种事物的两种观点。渐进增强和优雅降级都关注于同一网站在不同设备里不同浏览器下的表现程度。关键的区别则在于它们各自关注的着重点不同,以及这种不同的关注点如何影响项目开发的流程。

	优雅降级观点认为应该针对那些最高级、最完善的浏览器来设计网站。而将那些被认为“过时”或有功能缺失的浏览器下的测试工作安排在开发周期的最后阶段,并把测试对象限定为主流浏览器(如 Chrome,Safari,IE、FireFox等)的前一个版本。在这种设计范例下,旧版的浏览器被认为仅能提供“简陋却无妨 (poor, but passable)” 的浏览体验。你可以做一些小的调整来适应某个特定的浏览器。但由于它们并非我们所关注的焦点,因此除了修复较大的错误之外,其它的差异将被直接忽略。
	渐进增强观点则认为应关注于内容本身。请注意其中的差别:我甚至连“浏览器”三个字都没提。内容是我们建立网站的诱因。有的网站展示它,有的则收集它,有的寻求,有的操作,还有的网站甚至会包含以上的种种,但相同点是它们全都涉及到内容。这使得渐进增强成为一种更为合理的设计范例。这也是它立即被 Yahoo! 所采纳并用以构建其“分级式浏览器支持 (Graded Browser Support)”策略的原因所在。
原文地址:https://www.cnblogs.com/zhupengcheng/p/11703254.html