1
是否有任何noticable性能差异之间:服务器端VS客户端渲染模板性能?
在服务器端完全呈现模板,只是将IT作为一个静态的HTML到客户端。
VS
使用框架,如AngularJS它通过Ajax调用加载数据在客户端上呈现模板。
示例用例可以加载100条评论的博客列表。 (我不确定这是否是这个问题的最佳用例)。这可以通过获取JSON数据然后将其传递给控制器,然后使用数据绑定呈现视图来在Angular中完成。对于静态页面,这可以在服务器上完全呈现并直接在客户端上提供。
我考虑下面的事情要考虑性能差异:
- 对DOM树插入新的节点所需的时间。 (在角度的情况下)
- 花费时间来应用CSS样式。
- 请添加其他我错过了的东西。
我想说的两种方法之间的主要区别是,所有的内容都在服务器端呈现时浏览页面的人可用,但页面使用AngularJS方法加载VS更快的加载时间需要更长时间,但对于使用Ajax获取的内容稍等几秒钟。角度呈现数据的时间我会说是可以忽略的。一旦数据加载完毕,AngularJS可能会更快,例如获取新数据,因为您不必刷新整个页面等等。应用CSS是在客户端完成的吗? – Arg0n
另外,根据有多少用户在使用您的网站,您可能会通过在客户端中进行渲染来获得一些性能,从而减少服务器的负载。当然,用户使用客户端方法获得的性能更依赖于他们拥有的计算机。 – Arg0n
如果您正在为常规用户构建常规站点,那么现代机器通常非常强大,并且渲染100条评论没有问题。但是,如果您的目标用户是非典型的,例如,如果您希望目标用户使用旧机器和旧浏览器,则可能需要服务器端渲染以确保良好的性能。 – igor