javascript - 服务器端 VS 客户端呈现的模板性能?

标签 javascript css angularjs dom

在以下各项之间是否存在任何明显的性能差异:

完全在服务器端呈现模板,并将其作为静态 html 交付给客户端。

对比

使用 AngularJS 等框架在客户端呈现模板,该框架通过 ajax 调用加载数据。

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

我正在考虑以下事项来考虑性能差异:

  1. 在 DOM 树上插入新节点所花费的时间。 (在 Angular 的情况下)
  2. 应用 CSS 样式所花费的时间。
  3. 请补充我遗漏的任何其他内容。

最佳答案

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

(服务端渲染) 在服务器端呈现时,所有内容都可供浏览页面的人使用,但页面加载时间较长

( Angular/客户端渲染) 页面的初始加载时间更快,但等待几秒钟以使用 ajax 获取内容。

angular 渲染数据所需的时间可以忽略不计。一旦数据被加载,AngularJS 可能会比例如更快。获取新数据,因为您不必刷新整个页面等。

无论哪种方式,应用 CSS 都是在客户端完成的

关于javascript - 服务器端 VS 客户端呈现的模板性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33840542/

相关文章:

internet-explorer - IE 7-10 的多站线性渐变

html - CSS从图像条中提取图像

javascript - 如何从嵌套 JSON 响应 Angular.js 列出项目(渲染)

javascript - 如何在 jQuery 中显示前 n 个元素?

css - 对于 Sass 如何为 css 文件命名空间以免与其他 css 框架发生冲突?

查看 HTML 元素中是否有任何文本的 JavaScript 函数

javascript - Promise catch 未在测试中被捕获

UI 模式窗口的 AngularJS 范围问题

javascript - 输入类型 : Separating JavaScript Code From Front End Code

javascript - DataTables 设置默认排序列并设置不可排序列