【问题标题】:How to do progressive enhancement when using Ext JS or similar tools?使用 Ext JS 或类似工具时如何进行渐进增强?
【发布时间】:2010-06-17 14:19:42
【问题描述】:

是否需要为应用程序开发两个几乎独立的前端,一个使用 Ext JS,另一个完全不使用 JS?

【问题讨论】:

    标签: html progressive-enhancement


    【解决方案1】:

    嗯,差不多。如果您真的想要网站的 NO-JS 版本,您将需要坚持非常基本的 HTML,并返回服务器并通过任何点击完全重新加载。如果您希望您的真实网站是 ajaxy,那么这将需要该网站的两个不同前端。

    请问,您为什么担心没有 JavaScript 的人?没有 JavaScript 的人很少,即使是手机也有不错的 JavaScript 性能。

    【讨论】:

    • 您使用文本阅读器访问互联网的盲人用户很多,因此他们不使用javascript。还有一些行动不便的用户无法执行拖放等操作。您应该设计您的应用程序以使尽可能多的人能够查看它。
    • 当您开发一个仅使用 JS 的网站时,您是在故意根据愚蠢的标准过滤潜在客户。
    • 我想说,这始终取决于您正在开发什么。如果你为一些客户做一个封闭的应用程序,那么同时照顾非 js 用户是没有意义的,因为有非 js 用户。另一方面,如果您为每个人创建一个公共网站,它也应该可以在没有的情况下工作。
    • 创建一个只有 javascript 的网站不是渐进式增强,因为它不会增强较低级别的服务器端网站。
    【解决方案2】:

    您的应用程序应该被构建为允许没有 js 的用户访问相同的内容。 应用程序上的所有表单帖子和操作都必须具有服务器端处理。这是为了允许非 js 浏览器以及出于安全原因,因为 js 可以被黑客动态编辑。

    一旦你有了这个基本功能,你就可以开始添加你的 css 让它看起来不错,并添加 js 来添加由 ajax 完成的回发的附加功能。 你应该使用特性检测而不是浏览器检测来检测你的 css 和 javascript,因为浏览器一直在更新新的支持。

    因此,您只需要一个包含两种解决方案的前端。

    【讨论】:

    • 我知道什么是渐进增强。问题是,如果我想使用 Ext JS 构建支持 JS 的版本,我应该怎么做才能让使用非现代浏览器的用户能够访问我的网站? Ext JS 是面向组件的。它不仅仅是添加花哨的效果和 ajax 启用您的应用程序。所以似乎别无选择,只能为网站构建两个(几乎)独立的前端,一个使用 Ext JS,一个仅使用纯 HTML/最小 CSS。
    • 据我了解,Ext JS 类似于 jquery 或任何其他 javascript 库,因为它们都是下面的 javascript,所以可以在基本 html 之上添加服务器端处理。创建两个不同前端的问题在于它会产生维护开销,当您需要更改时,您需要更新两个前端。
    • 正如我在回答中所说,如果您想要 Ext JS 组件,您将需要制作完整的第二版网站。取决于你的听众,但通常我不想这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    • 2011-05-22
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    相关资源
    最近更新 更多