php - 返回 HTML 还是使用 javascript 构建 HTML?

标签 php jquery html ajax 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}

The {repeat:20} is not actual code
That block of code is repeated 20 times

我的问题是。

什么是更有益的:

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


为了讨论的目的,让我们假设一些常量

  • 服务器负载不是问题(我们使用的是高性能服务器)
  • 返回的数据仅供展示(不可篡改)
  • 我们不考虑未启用 javascript 的用户。
  • 我们不考虑任何浏览器

最佳答案

在 Web 开发的大多数时候,您需要决定什么对您来说更重要。

如果您无论如何都只追求性能,那么在您的服务器上执行所有呈现操作并只提供 HTML 代码当然会更快。但这反过来又在大多数情况下会牺牲灵 active ,而且您会通过网络获得更多流量。

另一方面,例如仅发送 JSON 数据并在客户端执行渲染操作,网络流量要少得多,但客户端的 CPU 负载会更高。浏览器(DOM + ECMAscript)在过去的几年和几个月里性能有了很大的提高,所以这是很多应用程序所做的。

但这并不是故事的结局。 JSON 是经过优化的,但不是高度优化的。同样,如果您真的追求性能,则需要创建自己的数据传输。例如

|box1|item1|item2

比 JSON 符号代码少

'{"box1": ["item1", "item2"]}'

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

关于php - 返回 HTML 还是使用 javascript 构建 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4927140/

相关文章:

php - 如何在函数调用中跳过可选参数?

html - 中间有链接,右边有图片的有序列表

html - 分页后如何查看 nth-child 的背景颜色?

php - 如何更新mySQL表中单元格值大于n的行?

php - symfony 2 - 尝试调用类 "findBy"的名为 "testBundle\Entity\test"的未定义方法

php - MYSQL:将一个表插入到另一个表的开头并设置auto_increment

javascript - 如何使用 Rivets JS 将新对象绑定(bind)到 View ?

javascript - 单击 Div 后将值放入文本框

javascript - CodeMirror 从按钮更改主题

html - css first-of-type 不起作用?