为什么服务器端HTML渲染比客户端更快?
我正在一个大型网站上工作,并且我们将很多功能转移到客户端(Require.js,Backbone和Handlebars堆栈)。 甚至有关于将所有渲染移动到客户端的讨论。
但是阅读一些文章,尤其是关于Twitter摆脱客户端渲染的文章,其中提到服务器端更快/更可靠,我开始有问题。 我不明白如何从JSON渲染JS中相当简单的HTML小部件,而模板是具有4-8 GB RAM的双核CPU上的当代浏览器比在服务器端应用程序中制作几十个包含任何内容的速度慢。 有没有关于此的真实生活基准数字?
另外,看起来像服务器端模板引擎解析HTML模板不能比从Handlebars模板渲染相同的HTML代码更快,特别是如果这是一个precomp JS函数?
有很多原因:
但对于复杂的用户界面,客户端交互渲染将提供更快捷的用户体验。
这实际上取决于您试图优化的性能以及多少用户。
要在客户端运行代码,首先必须加载它。 服务器端代码只在服务器启动时加载,而客户端代码必须在每次页面加载时潜在加载。 在任何情况下,即使文件已被缓存,加载页面时也必须解释代码。 你也可以在浏览器中缓存JS解析树,但我认为这些树不会持久化,所以它们不会长寿。
这意味着无论JavaScript有多快(并且速度非常快),用户都需要等待才能完成工作。 许多研究表明,页面加载时间极大地影响用户对网站质量和相关性的感知。
底线是,您最多有500毫秒的时间,可以让您的页面在典型的开发人员环境中从干净的缓存中呈现。 较慢的设备和网络将使这种滞后仅仅是大多数用户所不能接受的。
因此,在页面加载期间,您可能需要50-100毫秒的时间才能在JavaScript中执行某些操作,所有这些都是总计,这意味着渲染复杂页面并非易事。
链接地址: http://www.djcxy.com/p/65065.html上一篇: Why exactly is server side HTML rendering faster than client side?