你说服务器比客户端更强大。是的,但是如果您有 1000 个请求该页面的客户?服务器变得很难,您尝试使用服务器端缓存、负载平衡等。所以客户端模板渲染允许每个客户端关心自己。它令人难以置信地减轻了服务器的负担。例如,您可以提供一次 HTML 模板和 JavaScript 代码,浏览器将缓存它。因此,服务器甚至不会在当前客户端的每个下一个请求中发送这些内容,而只确保实际数据提供和操作它,例如通过 REST 架构。通过这种方式,您主要只传输数据。Backbone 和其他客户端框架允许您卸载服务器。当每个客户端为自己呈现页面或页面的一部分时,它总是运行得更快。
客户端渲染的JSON响应 (REST) :
[
{"name": "Jimmy", "email": "jimmy@gmail.com"},
{"name:" "Billy", "email": "billy@gmail.com"}
]
服务器呈现的HTML响应(传统):
<table>
<tr>
<td>
Jimmy
</td>
<td>
jimmy@gmail.com
</td>
</tr>
<tr>
<td>
Billy
</td>
<td>
billy@gmail.com
</td>
</tr>
</table>
显然,如果您有 100 个用户要渲染,您将有更多的 HTML 可以在服务器端渲染并通过 HTTP(CPU、RAM、带宽)传输。
但是在客户端渲染的情况下,您只需要一个表格模板和一个(!)表格行的模板(例如)来循环渲染用户。
所以服务器只关心数据、认证和授权。应用程序是分布式的。您卸载服务器并允许浏览器完成所有非敏感工作。每个客户都关心自己。