【问题标题】:What is the backend web framework role with AngularJS on the frontend?AngularJS 在前端的后端 Web 框架角色是什么?
【发布时间】:2013-11-20 04:04:44
【问题描述】:

选择“正确”的 Web 框架是一项非常具有挑战性的任务,至少在 Java 中我们有很多这样的框架。但是看看像 AngularJS 这样的 JavaScript 框架,我怀疑我们是否真的需要在服务器上做一些沉重的事情。通常 web 框架负责路由、模板、构建漂亮的 URL 和其他一些东西。使用 AngularJS,我们可以将所有这些职责转移到客户端。然后后端就变成了 REST 侦听器和数据验证器。应用程序逻辑和客户端视图之间的薄层。那么,如果我们只需要一个 REST 侦听器,为什么我们现在还需要 Web 框架呢?

目前我发现有两点必须由服务器端处理:身份验证/授权和需要“推送”的事情,例如 Comet。这些标准是否足以选择“正确”的框架?

【问题讨论】:

  • 高度依赖应用
  • 你能澄清一下吗?如果后端没有真正的 Web 框架,哪些应用程序不能(或更难)实现?
  • 恰恰相反:我的观点是它取决于应用程序:“使用 AngularJS,我们可以将所有这些职责转移到客户端”。并非每个应用程序都允许将路由移动到客户端。我没有提到模板,因为您仍然需要在服务器上使用模板。而且您仍然需要漂亮的 urls 构建器,因为 url 不仅在客户端浏览器中使用,而且例如在电子邮件中发送。
  • 如果您使用 AngularJS,则不再需要在服务器上进行模板化。对于那些开发人员来说,这就是服务器端模板的终结。至于漂亮的 URL,哪些必须在服务器端完成。 Angular 对这样的 URL 非常满意:“somesite/jokes#!/why-did-the-chicken”。它会简单地转身向服务器询问传递字符串作为标识符而不是任意数字的笑话。

标签: javascript angularjs client-side server-side


【解决方案1】:

我将再提供一项我见过的需要后端服务器支持的功能。它是那些生成文件的页面。例如,他们从第三方获取文件,然后将其交给客户,就好像他们直接生成它一样,或者他们正在动态生成 JPEG/PNG/GIF 图像,或者可能是 CSV/XLS 数据转储。可能有一些方法可以从前端动态生成这些内容并使其可供下载,但有时后端对那些人来说更容易。

除此之外,您的评估是 100% 正确的。与以前的 ASP/JSP/PHP/等请求/响应模型相比,使用 AngularJS 构建的应用程序需要 服务器。

然而,你需要的更少并不意味着你什么都不需要。即使对于较小的服务器,随着您的扩展,数据缓存和如何处理用户会话等问题仍然会出现。但它确实为 Node.js 之类的技术打开了大门,几年前我不会考虑太多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-06
    • 2011-04-07
    • 1970-01-01
    • 2016-02-04
    • 1970-01-01
    • 1970-01-01
    • 2020-09-09
    • 1970-01-01
    相关资源
    最近更新 更多