【问题标题】:Should web based applications follow web standards?基于 Web 的应用程序应该遵循 Web 标准吗?
【发布时间】:2010-10-11 20:01:25
【问题描述】:

白天,我是一名前端 Web 开发人员,但在空闲时间我会涉足其他语言,例如 C、Objective-C、Python 等。当我第一次接触 Web 开发时,Web 应用程序的想法只是开始吧。

从那以后出现了两个惊人的框架,SproutIt 的 SproutCore 和 280 North 的 Cappuccino (+Objective-J)。 Apple 正在将 SproutCore 用于其 MobileMe 应用程序,并且 280 North 发布了 280 Slides。这两个应用程序都很棒,它们证明了网络上的可能性。因此,势头正在转变。 Web 应用程序的外观和行为开始类似于桌面应用程序。

所以我的问题是:基于 Web 的应用程序是否应该遵循 Web 标准、标记(内容)、表示(设计)和行为(功能)的分离?

我不确定 SproutCore,因为我没有查看源代码,但我知道如果您访问 280slides.com 并关闭 JavaScript,所有内容基本上都会消失。留下一些无意义的话。

让我澄清一下,我了解基于 Web 的应用程序(例如 280 Slides)是为了启用 JavaScript,而不是在没有它的情况下运行,但在我的日常工作中,我的主要重点是编写干净的标记、分离内容、演示文稿和行为,以便尽可能多的人使用我们的网站和应用程序。

【问题讨论】:

    标签: frameworks standards web-standards


    【解决方案1】:

    到目前为止回答的其他人似乎不知道你在说什么。

    像我一样,您已经将它深深地印在了您的脑海中,以使您的 Web 应用程序尽可能易于访问。也就是说,它们应该在没有脚本和样式表的情况下工作。 JavaScript 和 CSS 只能用于增强体验。它们不应该是必需的。

    SproutCoreCappuccino 是用于前端 开发的框架,要求用户同时启用 JavaScript 和 CSS。您的问题是关于我们如何协调这与当时的教条。

    很遗憾,我没有明确的答案。我喜欢 SproutCore 和 Cappuccino(可能还有其他人)正在测试 Web 浏览器中可能的极限的事实。我也坚信,鉴于技术的局限性,网络上提供的信息和服务应该提供给尽可能多的人。

    您如何处理您的解决方案需要基于对您的用户群的深入了解。如果您正在开发 iPhone 应用程序,则无需担心传统的 Web 可访问性,因为这种体验非常直观。如果您正在为普通受众构建 Web 应用程序,那么这些新框架可能不是一个不错的选择(如果您重视尽可能广泛地访问您的信息和服务)。

    随着时间的推移,屏幕阅读器软件可能会更好地解释大量使用 JavaScript 的界面,所以这个问题可能会逐渐消失。问题是,其他东西很可能会在它的位置“萌芽”。

    【讨论】:

      【解决方案2】:

      Javascript一种 Web 标准——肯定比以前(并且仍然经常)用于富 Web 应用程序的 Flash 更重要。在这方面,SproutCore 和 Cappuccino 是我书中的巨大改进。

      这里的问题似乎是可访问性有多重要。正如安德鲁所说,这在很大程度上是基于了解您的用户的个人决定。对于某些应用程序,可访问性确实没有多大意义——280 Slides 就是一个很好的例子。这是一个主要与视觉行为有关的图形设计应用程序。将其降级为明文没有多大意义。 (至少,一个基于文本的应用程序旨在完成 280 Slides 所做的事情将是完全不同的事情。)

      【讨论】:

        【解决方案3】:

        是的。一开始会很困难,但一旦代码库成熟,你会庆幸你遵循了这些严格的标准。

        编辑:另一个好处是通过 CSS 配置文件等可移植到许多基于 Web 的平台。

        【讨论】:

          【解决方案4】:

          MVC 模型可以像应用于基于 Web 的应用程序一样容易地应用于桌面应用程序。我认为区分两者的理由并不多,尤其是在 Web 应用程序的情况下,界限更加模糊。

          我不知道这些特定的框架,但是现在很多 Web 框架都是围绕 MVC 模型构建的,例如 ASP MVC、CakePHP、Ruby on Rails 等。

          【讨论】:

          • 我不知道为什么人们会投票赞成。它根本没有解决这个问题。他在问,随着新的基于 JavaScript 的 FRONT-END 框架的流行,优雅降级、渐进增强等是否会被抛到窗外。
          • 我显然误解了这个问题。我很高兴看到其他人能够给出更好的答案。
          【解决方案5】:

          尽可能多地分开,最终会得到回报。当事情变得复杂多毛时:)

          【讨论】:

            【解决方案6】:

            我认为他们应该这样做。遵循MVC design 的这种类型可以更轻松地实施更改,提供良好的separation of concern,并且对于项目的新手来说通常更容易理解。

            【讨论】:

              猜你喜欢
              • 2013-10-14
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2016-02-17
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多