寻找一些一般性建议和/或想法......
我正在创建一个我认为更像是一个网络应用程序而不是网页的东西,因为我想让它像一个 Gmail 应用程序,您可以让页面整天打开,同时将更新“推送”到页面(对于有兴趣我正在使用彗星编程技术)。我以前从未创建过如此丰富的 ajax 和 javascript 网页(我现在是 jquery 的忠实粉丝)。因此,当我一次又一次地实现一个需要服务器需要了解的 UI 动态更改的新功能时,我面临着同样的问题:
1)我应该在客户端上用javascript进行所有处理并通过ajax尽可能少地回发
或者
2)我应该通过ajax向服务器发送请求,让服务器完成所有处理,然后发回新的html。然后在 ajax 响应上我用新的 HTML 做了一个简单的分配
我一直倾向于遵循#1。我想这个网络应用程序可能会对所有 ajax 请求变得非常健谈。我的想法是尽可能减少请求和响应的大小,并依靠不断改进的 javascript 引擎来完成尽可能多的处理和 UI 更新。我发现使用 jquery 我可以在客户端做很多以前无法轻松完成的事情。我的 JavaScript 代码实际上比我的服务器端代码更大、更复杂。我还需要执行一些简单的计算,我也将其推送到客户端。
我想我的主要问题是,我们是否应该尽可能努力进行客户端处理而不是服务器端处理?我一直觉得服务器处理的事情越少,可扩展性/性能就越好。让客户端处理器的能力来完成所有艰苦的工作(如果可能的话)。
想法?
在决定是否应在服务器端或客户端构建由 ajax 请求创建的新 HTML 片段时,需要考虑几个因素。需要考虑的一些事项:
表现。你的服务器必须做的工作就是你应该关心的。通过在客户端进行更多处理,可以减少服务器的工作量并加快速度。例如,如果服务器可以发送一小段 JSON 而不是巨大的 HTML 片段,那么让客户端执行此操作会更有效。在两种方式发送少量数据的情况下,差异可能可以忽略不计。
可读性。在 JavaScript 中生成标记的缺点是阅读和维护代码更加困难。在语法着色设置为 JavaScript 的文本编辑器中,在带引号的字符串中嵌入 HTML 看起来很糟糕,并且使编辑变得更加困难。
数据、表示和行为的分离。就可读性而言,在 JavaScript 中包含 HTML 片段对于代码组织来说没有多大意义。 HTML 模板应该处理标记,而 JavaScript 应该单独处理应用程序的行为。插入到页面中的 HTML 片段的内容与您的 JavaScript 代码无关,只与它的插入位置、插入时间相关。
出于上面提到的可读性和代码组织原因,在处理 ajax 响应时,我更倾向于从服务器返回 HTML 片段。当然,这一切都取决于您的应用程序如何工作、ajax 响应的处理强度以及应用程序获得的流量。如果服务器在生成这些响应时必须做大量工作并导致瓶颈,那么将工作推送给客户端并放弃其他考虑因素可能更重要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)