【问题标题】:How much javascript is too much多少javascript太多了
【发布时间】:2009-01-27 16:49:22
【问题描述】:

我最近一直在与某人合作一个非常密集的 ajax 项目。所有调用都使用 ajax 对 Web 服务进行,数据逻辑在客户端处理。服务器端代码只是充当data access layer,几乎没有其他作用。多少javascript太多了?

【问题讨论】:

    标签: javascript ajax


    【解决方案1】:

    当它向客户端透露太多时,Javascript 可能太多了,所以我会从安全角度来看。从性能的角度来看,一般使用 Javascript 更好。

    【讨论】:

      【解决方案2】:

      这实际上取决于您的需求和用户的期望。我唯一的建议是,当用户真正希望浏览一个新页面时,想想你正在做 AJAX 的地方。这些是你做“太多”的情况。

      请记住,用户 99% 的时间都在使用其他网站,而不是您的网站。确保您的网站符合他/她对网络其他部分以及一般计算机使用的期望。

      顺便说一句,可用性测试可用于找出任何领域的“用户真正期望什么”。您作为设计师的判断可能与典型用户的判断完全不同;另见Why You Only Need to Test with 5 Users

      【讨论】:

      • 非常好的链接!我发现它很有用。
      【解决方案3】:

      如果生成的应用程序直观且对用户有用,那么您就不能说它过多地使用了一种技术。

      提供出色的用户体验是我们作为软件开发人员的主要目标。我们用来做这件事的技术只是一个促成因素。

      我们只是在以下情况下使用了太多/错误的技术:

      1. 应用程序不直观或 偏离了用户的心理 模型,或
      2. 应用程序过度 很难或太贵 为后来者维护 我们

      【讨论】:

        【解决方案4】:

        我不介意使用 javascript,只要它不暴露敏感信息或公开安全漏洞。

        【讨论】:

          【解决方案5】:

          问题是,该应用程序是否仍提供必要的功能,如书签和尊重用户浏览历史记录?

          如果用户无法为特定页面/状态添加书签,则应该可以添加书签,这是一个警告信号。

          同样不能明智地使用后退按钮会导致悲伤。

          【讨论】:

          • "bookmarkability"/"后退按钮" 和 "too much javascript" 不是相互排斥的。它们可以用更多的 javascript 来解决 :) 但严重的是,有时在 javascript 中付出的巨大努力所获得的收益超过了可收藏性的损失。例如,谷歌地图。
          • 你说的太对了。有些问题可以通过更多的 JS 来解决。谷歌地图通过“链接”小部件来实现这一点,您可以在其中将当前视图复制为直接 URL。虽然我看到在这种情况下不可能,但它仍然应该是可用性和性能之间的有意识的权衡。
          【解决方案6】:

          我想说,对于任何技术,如果您忽略了一种更直接的解决问题的方法,而倾向于“以相同的方式”做所有事情,那么您很有可能已经完成了它。证明这一点的一个简单方法是花一些额外的时间来编写一个不使用相关方法的概念证明功能,并跟踪你需要多长时间等。如果你可以用你的概念证明完成同样的事情,并且为用户提供合适的体验,那么开发策略可能需要改变。

          【讨论】:

          • +1 表示采用最直接的方法。我要补充的是,为开发人员节省的时间和为用户节省的时间之间存在平衡——这是一种权衡,在某些时候,在任何一个方向上交易过多都是一件坏事;开发人员和用户的最佳回报通常是采取更直接的方法。考虑到 AJAX 的大部分用途是模拟浏览活动,但在浏览器中。快速推动这么多冗余会导致自我挫败。
          【解决方案7】:
          【解决方案8】:

          任何东西都太多了:

          当你看不懂代码时

          当用户不获得/需要/喜欢/等 UI

          当你杀死你需要的任何服务器端/客户端资源时

          【讨论】:

            【解决方案9】:

            这真的取决于项目的用途。

            用户是谁?这只是内部的事情还是会向世界开放?他们期待一个常规的网络风格界面吗?这会妨碍视线的可用性吗?

            它需要有多安全?使用 javascript 会向用户打开很多应用程序,这可能是一个安全问题。

            普通用户的机器能处理那么多的 javascript(旧机器几乎不能用很多 javascript)吗?

            有很多问题需要回答,然后您才能确定多少 javascript 太多了。

            最终它很可能最终由测试和用户反馈决定。

            【讨论】:

              【解决方案10】:

              这取决于许多因素:

              • 脚本是否会向最终用户透露有关您的应用内部运作的信息?
              • 您需要支持多种浏览器吗?
              • 您需要支持移动用户(或 PDA)吗?
              • 您是否使用 Javascript 强制执行业务逻辑? (通常这应该在服务器上完成)

              一旦你得到了这些问题的答案,我认为很容易确定你是否在某处越界。除此之外,从性能的角度来看,将处理器负载分配给客户端总是一件好事。强制执行客户端业务逻辑也可以,但请务必仔细检查服务器。

              希望这会有所帮助。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2010-12-01
                • 2011-02-09
                • 2011-07-09
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2010-10-03
                相关资源
                最近更新 更多