渐进增强和优雅降级有什么区别?

65

我对渐进增强优雅降级之间的区别感到困惑。在我看来,它们似乎是相同的东西。

请您解释一下这两者的区别,并说明在什么情况下我应该使用其中之一?


这也是我的理解。 - SeanJA
7个回答

88

它们几乎完全相同,但它们的上下文不同。

有一类名为 "A Grade Browsers" 的浏览器。这些是您典型的听众成员,可能占您访问者的大多数。您将从这些用户作为基线开始。称之为最佳现代实践

如果您想要为任何使用Firefox 3.6或Safari 4或其他神奇的开发人员夜间WebKit的人提供更好的体验,则需要做一些令人惊叹的事情,例如

  • CSS圆角
  • 阴影文字(但请上帝,不要太多)
  • 投影阴影(见上述括号)

这使您的网站看起来很酷,但不会破坏它。这就是渐进增强。从最佳实践的角度拥抱未来。

另一方面,您的尼ン天堂网站吸引了相当数量的Internet Explorer 5 用户。可怜的你,但你也想确保他们继续回来。您可以通过在外部文件中包含Ajax脚本来为其提供替代解决方案,如果他们的JavaScript未打开,则您的链接可能会更新整个页面。等等。从最佳现代实践的角度来看,您正在确保为某些历史市场提供了一定程度的功能性网站。这就是优雅降级

它们大部分相同,但在许多开发团队中,它们的优先级有所不同:如果您有时间,渐进增强非常好,但是如果必要,优雅降级通常更为重要。


36
如果你的网站在所有浏览器上看起来都很好,但某些浏览器支持跳舞小马等功能,那么这就是渐进增强。它适用于所有浏览器,但某些浏览器会得到额外的东西。通常这个术语被应用于某些JavaScript功能,可能会增强用户体验,超越了“原始HTML”的功能。
如果你的网站只有在完全支持CSS 3的浏览器上才能像你预期的那样呈现,并且Internet Explorer 8将不显示圆角等内容,则这就是优雅降级。该网站真正面向最先进的浏览器,但在旧的浏览器中仍然可用,只是不太花哨。
最终,从两个不同的角度来看,它们实际上是同一件事。

24

每个概念的基准线方向都不同。

优雅降级是从理想用户体验水平开始,随着用户代理能力的下降而逐渐降低到最低水平,以满足不支持基准线所使用的某些功能的代理的需求。

渐进增强从广泛的最低用户体验水平开始,并根据用户代理能力逐渐提高到更高的水平,以满足比基准线支持更高级别功能的代理的需求。

如果时间/预算充足,我认为可以同时采用这两种概念。否则,优雅降级会更受青睐。


11
尽管我在某种程度上同意Alex Mcp和deceze的观点,但从我的角度来看,“优雅降级”和“渐进增强”的含义略有不同。
在我看来,“优雅降级”往往更像是一种惩罚,用来打击那些一开始就建造得很糟糕的应用程序。例如,有人构建了一个庞大的JavaScript对象,为用户提供了非常酷的功能,直到经理过来测试这个东西,每个人都在惊恐中挥舞着手臂,当他们注意到他们的应用程序在35%的浏览器中无法工作时。"有人最好为此提供一个后备方案。"
然而,“渐进增强”(这个词听起来更加美好)似乎更多地是关于构建一些基本方法可用的东西,在入门级别、任何地方都能正常工作,以提供用户所需的所有功能。然后可以通过小巧玲珑的辅助功能、样式等方式添加功能,实际上增强了所涉及应用程序的用户体验,而不仅仅是使其勉强可用。"看起来很酷。在Internet Explorer 6中可以使用吗?哦,没问题。"
我认为,在这里将样式作为两个最佳答案的一个例子,可能忽视了“渐进增强”通常通过其本质解决的真正基本可用性问题,而“优雅降级”则会忽略这些问题,直到出现故障。
发泄完毕...

7

优雅降级

优雅降级是指计算机、机器、电子系统或网络即使大部分功能已经被破坏或失效,仍能保持有限的功能。优雅降级的目的是防止灾难性故障。

优雅降级是一种解决方案。它是建立网站或应用程序的实践,以便在现代浏览器中为用户提供良好的体验。但对于那些使用旧版浏览器的用户,它将会优雅地降级。系统可能不会像现代浏览器那样美观,但基本功能将在旧系统上正常工作。

一个简单的例子是使用24位透明PNG图像。这些图像可以在现代浏览器上显示而没有问题。Internet Explorer 5.5和Internet Explorer 6会显示图像,但透明效果将失败(如果必要,可以使其正常工作)。不支持PNG的旧版浏览器将显示替代文本或空白空间。

采用优雅降级的开发人员通常规定其浏览器支持级别,例如1级浏览器(最佳体验)和2级浏览器(降级体验)。

渐进增强

渐进增强是一种网页设计策略,强调可访问性、语义化HTML标记和外部样式表和脚本技术。渐进增强以分层方式使用Web技术,使每个人都可以使用任何浏览器或Internet连接访问网页的基本内容和功能,同时为那些具有更高级浏览器软件或更大带宽的用户提供增强版本的页面。

渐进增强与优雅降级类似,但相反。网站或应用程序将为大多数浏览器建立基本的用户体验水平。当浏览器支持时,将添加更高级的功能。

渐进增强不要求我们选择支持的浏览器或回归基于表格的布局。我们选择一种技术水平;即浏览器必须支持HTML 4.01和标准页面请求/响应。

回到我们的图像示例,我们可能决定我们的应用程序应在所有图形浏览器中正常工作。我们可以默认使用较低质量的GIF图像,但在浏览器支持时用24位PNG替换它们。


链接

维基百科:渐进增强优雅降级(容错)

来源:SitePoint博客


0

我发现这往往是一种态度问题 - 你是在说“好的,我的网站可以使用Lynx,用户可以做我想让他们做的一切,现在让我们添加一些华丽效果”,还是在说“好的,我的网站在Firefox中可以工作,现在让我们尝试为那些不愿意使用它/关闭JavaScript等的人修复它。”


-1
为了让事情变得更简单,只需将您的标准设置在顶部,然后您就可以忽略渐进增强。当新功能推出时,提高您的标准;或者,将您的标准设置为最低水平(也许是Lynx?),然后使用渐进增强。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接