我在一个大型网站上工作,我们正在将很多功能转移到客户端(Require.js、Backbone和Handlebar堆栈)。甚至还有关于可能将所有渲染转移到客户端的讨论。
但读了一些文章,特别是那些关于Twitter远离客户端渲染的文章,其中提到服务器端更快/更可靠,我开始产生疑问。我不明白为什么在JS中从JSON和模板呈现相当简单的HTML小部件是在具有4-8 GB RAM的双核CPU上的当代浏览器,比在您的服务器端应用程序中创建数十个includes要慢。关于这一点,有没有实际的基准数据?
此外,服务器端模板引擎解析HTML模板似乎不会比从Handlebar模板呈现相同的HTML代码更快,特别是如果这是一个预编译的JS函数?
发布于 2012-10-28 12:30:49
原因有很多:
发布于 2012-10-28 12:53:42
与解释型javascript
的依赖
但对于复杂的UI,交互的客户端呈现将提供更快的用户体验。
这真的取决于你试图优化的性能,以及为多少用户优化。
发布于 2017-04-06 20:28:32
要在客户端运行代码,首先必须加载代码。服务器端代码仅在服务器启动时加载,而客户端代码可能必须在每次页面启动时加载。在任何情况下,加载页面时都必须解释代码,即使文件已经缓存。您可能还在浏览器中缓存了JS解析树,但我认为这些不是持久的,所以它们不会存在很长时间。
这意味着无论JavaScript有多快(而且非常快),工作都必须在用户等待的时候执行。许多研究表明,页面加载时间极大地影响了用户对网站质量和相关性的感知。
底线是,在典型的开发人员环境中,您最多有500ms的时间从干净的缓存中呈现页面。速度较慢的设备和网络将使这种延迟对大多数用户来说几乎无法接受。
因此,在页面加载期间,您可能有50-100毫秒的时间在JavaScript中完成所有操作,这意味着渲染一个复杂的页面并不容易。
https://stackoverflow.com/questions/13106355
复制相似问题