什么叫优雅降级和渐进增强?

时间:2020-05-01

优雅降级(Graceful degradation)

优雅降级(Graceful degradation)是一种设计理念,其核心是尝试构建可在最新浏览器中运行的现代网站/应用程序,而作为降级体验,在低版本浏览器中仍然提供必要的内容和功能。

这个技术很有用,因为它让Web开发者,在专注开发最强大的网站同时,和某些未知的用户代理,在访问网站时发生的问题间达到权衡。渐进增强相关而不同—通常被看做优雅降级的相反行为。实际上,这两种方法都是有效的,并且通常可以相互补充。

渐进增强(Progressive enhancement)

渐进增强(Progressive enhancement)是一种设计理念,其核心是为尽可能多的用户提供基本内容和功能,同时进一步为现代化浏览器用户提供最佳体验,运行所有需要的代码。

特性检测通常用于确定浏览器是否可以处理高级内容,而polyfill通常用于使用JavaScript构建缺少的功能。

Polyfill

Polyfill 是一块代码(通常是 Web 上的 JavaScript),用来为旧浏览器提供它没有原生支持的较新的功能。

比如说 polyfill 可以让 IE7 使用 Silverlight 插件来模拟 HTML Canvas 元素的功能,或模拟 CSS 实现 rem 单位的支持,或 text-shadow,或其他任何你想要的功能。