使用javascript返回HTML或构建HTML?

Hai*_*ood 9 html php ajax jquery json

我正在返回有关联系人的数据以构建列表

基本的HTML看起来像

{repeat:20}
<div class="contact">
  <a rel="123">FirstName LastName</a>
  <div class="info">
    {repeat:5}
    <div>
      <div class="infoLabel">Age:</div>
      <div class="infoPiece">56</div>
    </div>
    {endrepeat}
  </div>
</div>
{endrepeat}
Run Code Online (Sandbox Code Playgroud)

{repeat:20}不是实际代码.
该代码块重复20次

我的问题是.

什么更有益:

  1. 创建标记服务器端,返回实际的html.
  2. 返回带有信息的Json数据并构建列表客户端.


出于本讨论的目的,让我们假设一些常量

  • 服务器负载不是问题(我们使用的是高性能服务器)
  • 返回的数据仅用于显示目的(不被操纵)
  • 我们不会在没有启用JavaScript的情况下考虑用户.
  • 我们不考虑任何浏览器<Internet Explorer 7

jAn*_*ndy 8

在Web开发过程中的大部分时间里,您需要确定哪些对您更重要.

如果您只是在性能之后,无论如何,在服务器上执行所有渲染操作当然更快,只需提供HTML代码.但这反过来,大多数时候成本灵活性加上,你通过网络获得了更多的流量.

另一方面,仅发送JSON数据并在客户端上执行渲染内容,通过线路的流量要少得多,但客户端上的CPU负载更多.浏览器(DOM + ECMAscript)在过去几年和一个月中的性能提升很多,因此很多应用程序都会这样做.

但这不是故事的结局.JSON已经过优化,但未经过高度优化.再次,如果你真的在性能之后,你需要创建自己的数据传输.例如

|box1|item1|item2
Run Code Online (Sandbox Code Playgroud)

代码少于JSON表示法

'{"box1": ["item1", "item2"]}'
Run Code Online (Sandbox Code Playgroud)

这当然是非常具体的,但如果我们真的很大,它可以节省大量的流量.我推荐Nicholas C. Zakas 撰写的高性能Javascript一书.关于这个主题的优秀书籍.