2015-11-21 153 views
1

是否有任何noticable性能差异之间:服务器端VS客户端渲染模板性能?

在服务器端完全呈现模板,只是将IT作为一个静态的HTML到客户端。

VS

使用框架,如AngularJS它通过Ajax调用加载数据在客户端上呈现模板。

示例用例可以加载100条评论的博客列表。 (我不确定这是否是这个问题的最佳用例)。这可以通过获取JSON数据然后将其传递给控制器​​,然后使用数据绑定呈现视图来在Angular中完成。对于静态页面,这可以在服务器上完全呈现并直接在客户端上提供。

我考虑下面的事情要考虑性能差异:

  1. 对DOM树插入新的节点所需的时间。 (在角度的情况下)
  2. 花费时间来应用CSS样式。
  3. 请添加其他我错过了的东西。
+0

我想说的两种方法之间的主要区别是,所有的内容都在服务器端呈现时浏览页面的人可用,但页面使用AngularJS方法加载VS更快的加载时间需要更长时间,但对于使用Ajax获取的内容稍等几秒钟。角度呈现数据的时间我会说是可以忽略的。一旦数据加载完毕,AngularJS可能会更快,例如获取新数据,因为您不必刷新整个页面等等。应用CSS是在客户端完成的吗? – Arg0n

+0

另外,根据有多少用户在使用您的网站,您可能会通过在客户端中进行渲染来获得一些性能,从而减少服务器的负载。当然,用户使用客户端方法获得的性能更依赖于他们拥有的计算机。 – Arg0n

+0

如果您正在为常规用户构建常规站点,那么现代机器通常非常强大,并且渲染100条评论没有问题。但是,如果您的目标用户是非典型的,例如,如果您希望目标用户使用旧机器和旧浏览器,则可能需要服务器端渲染以确保良好的性能。 – igor

回答

1

我想说的两种方法之间的主要区别是:

服务器端渲染) 所有的内容都可以在服务器端渲染时浏览的页面的人,但网页需要更长的时间来加载

角/客户端呈现)页面 更快的初始加载时间,但等待几秒钟的内容获取与阿贾克斯。

角度来呈现数据我说的时间是可以忽略的。一旦数据加载完毕,AngularJS可能会更快,例如得到新的数据,因为你不必刷新整个页面等

应用CSS是在客户端做任何一种方式