什么是渐进式增强?

Jeff在谈到使用JQuery编写stackoverflow时提到了“渐进式增强”的概念。

经过一段快速的Google,我发现了一些关于它的高层讨论。

任何人都可以推荐一个好的地方作为程序员开始。

具体来说,我一直在用PHP编写Web应用程序,并希望使用YUI来改进我正在编写的页面,但其中很多看起来非常基于JavaScript,大部分驴工作都是使用JavaScript完成的。对我来说,这似乎有点矫枉过正,因为浏览没有JavaScript的网站可能会破坏大部分。

任何人都有一些好的地方可以开始使用这个想法,但我并不在乎这门语言。

理想情况下,我希望看到您如何开始创建静态HTML,然后将YUI(或任何Ajax框架)添加到它,以便您获得更丰富的客户端的好处?

0
额外 编辑
意见: 1
链接到相同的博客文章: neerajkumar.net/blog/ 2012/08/19 /渐进增强
额外 作者 Neeraj,

8 答案

基本上,如果您的网站仍然可以关闭JavaScript,那么您使用JavaScript添加的任何内容都可以被视为渐进式增强。

有些人可能认为这是不必要的,但很多人使用NoScript等插件浏览(或者,在浏览器设置中关闭JavaScript)。另外,许多移动网络浏览器可能支持或不支持JavaScript。所以,在没有JavaScript的情况下完全测试你的网站总是一个好主意。

0
额外

从另一个方向看它有时被称为优雅退化。当网站首次构建时,通常需要使用这些技术,而各种技术提供的增强功能随后会进行修改,从而使这些技术不可用的浏览器得到优雅的降级。

在设计与旧版浏览器(Internet中的古老术语)(例如IE 5.5,Netscape等)一起使用时,它也会优雅地降级。

在我看来,更多的工作是优雅地降低应用程序的性能。逐步增强它往往效率更高;然而,有时需要采用现有的应用程序并使其在这些缺乏环境中可用。

0
额外

另请参阅引人注目的Javascript ,这是基岩渐进式增强功能。

0
额外
那里的优秀链接。出于某种原因,我没有想到维基百科它。 :)
额外 作者 kaybenleroll,

正如你所说

对我来说,这似乎有点矫枉过正,因为浏览没有JavaScript的网站可能会破坏大部分网站。

这不是渐进式的增强。渐进式增强是当网站完全没有JavaScript或CSS时,然后然后添加(分层)这些额外的技术/代码,以提高网站的可用性和功能。

我能给的最好的例子就是这个网站上的标签输入框。在JavaScript关闭的情况下,它仍然可以让你输入以空格分隔的标签。在JavaScript打开的情况下,您可以获得一个下拉列表,并提供以前条目的建议。

这是渐进式的增强。

0
额外

渐进增强:

  1. 简单的HTML / CSS网站很棒(完全正常工作和用户友好的)。
  2. 添加JavaScript定义了一个新的真棒级别。
0
额外

渐进式增强是一种开发技术,它强调语义HTML的优先性,然后测试浏览器 - 功能和有条件地对可以利用这些增强功能的浏览器的JavaScript和/或CSS增强进行“分层”。

其中一个关键是了解我们正在测试浏览器可以做什么,而不是浏览器嗅探 。 是一款非常流行的浏览器功能测试套件。

渐进式增强本质上(第508节)可用;它规定了符合法律的信规则的精神。

Filament Group撰写了关于这个主题的优秀“设计与渐进增强”一书。 (我并不隶属于Filament集团,尽管他们太聪明了,我希望我是。)

0
额外

我编写了教程创建一个在 NETTUTS 上使用渐进式增强功能的调查。这个想法是使用XHTML / CSS和PHP创建一个功能性网站,然后用Javascript拦截表单等。 (我用JQuery)。

0
额外

这是一个非常重要的概念,很少有网络开发人员理解它,让我感到伤心。

基本上,首先在Plain Old HTML中构建网站/框架 - 结构元素,链接和表单。然后添加一些风格和闪亮的东西(Ajax或你有什么)。

这并不困难。像 palehorse 所说的那样,优雅的退化是更多的工作。

网站应该可以在任何用户代理中使用,而且看起来不一样(如果视力受损,甚至不会看起来很健康),只是工作而已。

0
额外