【问题标题】:Front end templates vs. back end templates前端模板与后端模板
【发布时间】:2015-03-01 19:47:35
【问题描述】:

为什么客户端和服务器端都有模板引擎?在服务器端处理路由不是很自然吗?在什么情况下最好在服务器端进行路由和模板化?在客户端?有没有你想同时使用的情况?

我环顾四周,但没有发现任何东西可以简单地解释这一点。我想我错过了什么。

谢谢!

【问题讨论】:

  • 对于移动应用程序,您将执行客户端模板路由。

标签: angularjs node.js handlebars.js pug templating


【解决方案1】:

让我一一回答你的问题:

为什么客户端和服务器端都有模板引擎? 很简单,减少服务器端的负载!想象一下,成千上万的用户向服务器端引擎(让我称之为 web/app 服务器)请求,所有请求都从服务器集群处理和服务(以主机为代价)。相信我,从服务器的角度来看,它非常昂贵。另一种选择是只将数据提供给执行表示逻辑的客户端引擎。由于它是客户端中的单个用户数据/逻辑,因此重量轻且速度快。关键是它减少了服务器的负载。

在服务器端处理路由不是很自然吗? 这不仅是自然的,而且是服务器端必须做的(开始)。但是,正如所解释的,在客户端执行表示逻辑可以使用户体验更好。这就是带有 AngularJS 等客户端框架的单页应用程序的由来!

什么情况下最好在服务器端做路由和模板? 在服务器端的情况下不使用术语模板。然而,演示模板(布局和组件)主要在客户端完成,功能模板(数据)在服务器端。服务器端模板只不过是 Web 服务 (API)。

在客户端呢? 如前所述,所有表示层的东西(HTML、CSS、JavaScript)。

在某些情况下您想同时使用两者吗? 我会说,在所有情况下。但是,最好的候选者是门户网站,而不是网站。

希望我能理解您的问题,并且我的回答对您有所帮助。

【讨论】:

    【解决方案2】:

    使用 Angular 这样的 SPA 框架,您只需渲染一次 HTML,然后依靠 Web API 调用来检索您的数据并将其绑定到视图。由于 Web API 调用返回 JSON 模型,因此需要前端模板来在视图中呈现模型。

    您将依赖服务器端路由和模板来呈现初始页面,并依赖客户端路由和模板来进行任何后续用户交互(即通过 Web API 调用检索数据)。

    【讨论】:

    • 这就是我正在寻找的解释。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    • 2018-03-20
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 2016-10-10
    相关资源
    最近更新 更多