【问题标题】:Importance of graceful degradation to non-javascript ui优雅降级对非 javascript ui 的重要性
【发布时间】:2011-03-09 13:45:31
【问题描述】:

优雅地降级或反向渐进式增强 UI 体验有多重要?我的意思是,如果我不这样做,我会失去 LOT 的业务吗?你实践这个概念吗?是否还有任何 web 1.0 用户仍然存在?

如果您亲自练习,以及相对于整个项目花费了多少时间,请您也提供一下。我意识到每个项目都是不同的,我想了解作为一般规则我应该为这个目标分配多少时间。

编辑

首先,我正在寻找有关我应该花多少时间让我的应用程序在没有 javascript 的情况下运行的指导。

其次,BS 术语“web 1.0”(......哈哈......我也不太喜欢它)很有效,因为我们都明白这是 ajax 之前的迭代及其所有优点。

第三,我所描述的应用程序类型是我们都在构建的应用程序,不是 Facebook,不是 Twitter(除非你来自 Facebook 或 Twitter),而是服务或实用程序,如网络日历或在线待办事项列表或[在此处插入您的应用]。

【问题讨论】:

  • 我认为这个问题很好,但太宽泛了。你能再描述一下你的个人情况吗?此外,没有人可以就您可能会失去多少业务做出任何陈述,因为您没有说明您正在服务哪些受众。

标签: javascript ajax user-interface


【解决方案1】:

渐进式增强更多的是一种心态,而不是您需要分配时间的特定任务。如果您做得对(并且如果它对您很重要),您应该使用 JavaScript 来增强用户体验,但不要依赖它。

例如,一个链接将指向一个新页面,但使用 JavaScript,您将禁用该链接并使用 Ajax 将新内容加载到当前页面中。开始时不使用 JavaScript,渐进式增强自然会随之而来。

【讨论】:

  • 我同意,优雅降级不必花钱。
  • 我认为开发人员实际上并没有这样做。从没有丰富的 UI 开始并进一步发展。他们要么开始全力以赴(考虑到退化),要么什么都不做。某些部分确实取得了进展,但重写某些部分的成本太高。还要对@ILMV 说些什么:退化总是要花钱,因为它确实需要一些开发时间。即使只是一小部分,也总是如此。
【解决方案2】:

渐进式增强不仅智能,而且开发起来更快、更容易。 在每个阶段,您几乎总是有一个可行的后备方案。

简而言之:

  1. 老板/客户批准模型。

  2. 我们编码为有效的 HTML 输出。此时,老板/客户可以开始使用该网站。排除任何老板/客户的变化,HTML 大部分都完成了。该网站此时可以使用。

  3. 我们开始调整 CSS 以使其符合老板/客户的图形期望。对 HTML 的更改很小,如果有的话。

  4. 同时,JavaScript 被添加来做一些非关键但很好的事情。 (排序表,花哨的 CSS 帮助,用 AJAX 调用替换一些链接,警告用户 - 客户端 - 输入问题。)
    如果其中任何一项发生故障,该网站仍然可以运行。
    此外,几乎不需要或通常不需要更改 html。

【讨论】:

    【解决方案3】:

    首先,我们不要开始使用诸如“web 1.0”和“web 2.0”之类的废话,事实是网络永远在进步,新网站开始使用 JavaScript 来增强用户体验。

    我不知道有谁不允许他们的网站在 JavaScript 不可用时正常降级,这与我们使用语义标记的原因相同,因此屏幕阅读器可以为有视觉障碍的用户正确解释我们的网站,虽然您的绝大多数访问者/用户不会属于这些类别,但考虑少数群体仍然很重要。

    您会失去很多业务吗?这取决于您现在的成功程度以及您的网站退化的严重程度,您可能不会失去任何业务......但这应该不是你用来决定是否优雅降级网站的衡量标准。

    所以除非你能想出一个很好的理由,否则你应该将 JavaScript 用于渐进增强的目的,不要过分依赖它。

    :-)

    【讨论】:

    • 基本上是这样。如果网站 95% 的收入将由普通用户完成,但创建网站的降级版本将需要所有用户的 10% 的利润来开发,在这种情况下,降级不是一种选择。
    • 我不同意,它根本不应该花费任何成本,这应该是开发人员的工作,因为他们经历了开发生命周期,以确保网站在所有用户的通用浏览器中运行,我认为甚至是英国《残疾人法》的一项法律要求。关键是您永远不应该处于网站依赖 JavaScript 来实现功能而没有回退的地步,这是一个基本的开发概念。
    • 我同意你的看法。开发人员应该始终考虑降级,但只考虑他们需要的程度。如果您开发一个 Intranet Web 应用程序,您几乎可以肯定会忘记这种退化。而当今的大多数网络应用程序开发都是内部/外部网络应用程序。
    • 我是内部网 ERP 系统的开发人员,降级在我们的优先级列表中很重要,我们可能会交付我们的系统,我们需要确保系统在任何浏览器下都能正常工作并且残障用户仍然可以使用它。但我不同意大多数网络应用只是内部应用。
    【解决方案4】:

    这在很大程度上取决于您的应用程序及其数据的性质。如果它是您知道将主要通过计算机使用的东西,那么降级到非脚本版本的 UI 不会带来任何明显的好处(甚至会损失金钱,因为开发需要相当长的时间)。您总是可以告诉人们在他们的浏览器中启用 javascript(类似于在 Stackoverflow 上所做的 - 尝试禁用脚本并重新加载页面)。当没有 Javascript 可能性时,您的应用/网站至少应该显示一些内容。

    但是,如果您的应用程序有简单的数据要显示并且用户应该经常访问它,无论他们身在何处,那么降级到较小的浏览器(没有像 Opera Mini 这样的脚本引擎)是必须的。创建单独的 UI 会减少功能,但保留用户需要访问的所有内容可能是您的最佳选择。例如,像单独的 iPhone 应用程序这样的 UI...

    【讨论】:

    • 您会注意到 Stackoverflow 无需 JavaScript 即可运行。您可以全天浏览,甚至可以回答问题。唯一的问题是缺少文本预览和编辑功能,验证码有点麻烦。
    • 你也不能添加cmets。当您没有启用 javascript 时,SO 缺少相当多的功能。用户可以获得的最佳降级信息是 顶部的红色条,表示 Stackoverflow 在启用 Javascript 时效果最佳
    • 我没有说你可以在没有 JavaScript 的情况下在 SO 上做一切。你当然可以做关键的事情。而且,SO 并不是好的网站设计的全部。例如,我注意到它甚至没有验证,并用 JavaScript 警告填充我的错误控制台。最后,SO 专门针对最书呆子的极客。它有能力要求 JavaScript 用于非关键的事情——我不会。
    【解决方案5】:

    JavaScript 被small proportion 的网络用户禁用,但是当您开始大谈特谈时,这可能会产生影响。例如,对于 100 万访问者,您预计会有超过 10,000 人无法使用您的网站。

    您应该决定为网站的非 JavaScript 版本所付出的额外成本会损失多少业务。

    您可以采用一种方法,使整个网站在没有 JavaScript 的情况下可能无法运行,但其中一些核心功能已经存在。

    【讨论】:

      猜你喜欢
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      • 2011-11-21
      • 2010-12-04
      • 1970-01-01
      • 1970-01-01
      • 2014-09-30
      • 2013-01-18
      相关资源
      最近更新 更多