graceful-degradation - Web 应用程序域外的优雅降级 : how significant a problem is it?

标签 graceful-degradation progressive-enhancement

为冗长的介绍道歉 - 只是试图适本地设置场景以避免歧义和困惑。

Web 应用程序已经从用于服务器端逻辑的基于浏览器的笨接口(interface)发展为完全基于浏览器的应用程序,对服务器端逻辑的需求最少。可以通过识别清晰的 Web 应用程序代来描述这种演变。

让我们暂时只考虑两代:前 ajax 和后 ajax。当然还有其他因素,例如与 CSS 支持和访问控制 header 相关的因素,但让我们从简单的开始。

从无样式、无 JavaScript 的简单系统开始,添加优雅降级的增强层并使用 ajax 打包、响应迅速的现代应用程序完成是一项具有挑战性且容易出错的任务。这绝非易事。

Web 应用程序可能属于哪一代取决于访问该应用程序的方式。如果通过 Lynx 访问,同样的 Web 应用程序似乎是第一代应用程序,如果通过 FireFox 3.1 访问,则似乎是最新一代应用程序,中间有几个级别,具体取决于用于访问应用程序的用户代理。

创建一个根据用户代理的功能优雅降级的 Web 应用程序的问题,其中为利用当前浏览器功能而创建的东西将恢复到可能在 15 年前在面对 Lynx 时创建的东西的功能,这是非常困难的.

我无法想象一个桌面应用程序会面临这样的操作环境变化。

能够利用 Vista 中的功能的单个可执行文件(相对于一组特定于操作系统的变体)在 XP 下运行和缺少某些 Vista 功能时可能会很好地应对。要在与 Web 应用程序相当的距离内降级,相同的桌面应用程序在 DOS 等纯命令行环境中运行时仍必须运行,尽管方式不那么花哨。

在 Lynx 下运行它,它是第一代 Web 应用程序。在 FireFox 3.1 下运行相同的程序,这是一款精美、 Shiny 的现代网络应用程序。如果遇到这样的问题,你会认为它具有挑战性、棘手但可行。

在 DOS 下运行它,它是一个命令行应用程序。在 Vista 下运行它,它是一个花哨、 Shiny 的现代网络应用程序。如果遇到这样的问题,你会认为它很疯狂。或者你会吗?

桌面应用程序是否曾经像 Web 应用程序那样在操作环境中面临如此广泛的变化?

这个问题(方差的广度,而不是方差本身)是 Web 应用程序领域独有的,还是可以在桌面开发中找到?

最佳答案

桌面应用程序在这方面没有 Web 应用程序存在的相同问题。它们通常被设计为在一个定义明确的平台上运行。

这在 future 可能会改变。计算正在从台式机转移到手机和更小的笔记本电脑。 future 桌面应用程序将不得不在更广泛的平台上运行。这可能会导致问题,因为我们用于开发桌面应用程序的大多数框架都比 Web 应用程序框架更糟糕。

关于graceful-degradation - Web 应用程序域外的优雅降级 : how significant a problem is it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/569629/

相关文章:

bash - 终端上通配符的优雅降级

javascript - 渐进增强是当前的问题吗?

javascript - 为具有非统一 JS/HTML5 支持的客户创建逐步增强的表单提交体验

javascript 懒加载的渐进增强方式?

ajax - 如何使用 Modernizr 测试浏览器的 AJAX 支持?

CSS3动画的Javascript降级解决方案

javascript - 2011年了还有必要降级js吗?

css - 优雅降级的正确方法?

javascript - 如果启用了 JavaScript,如何在网页上生成不同的链接?