javascript - 实现基于 RESTful API 的 Web 应用程序。我需要服务器端框架吗?

标签 javascript node.js mongodb client-side

我正在启动一个项目,该项目基本上是一个单页应用程序,用于下载并显示一堆统计信息(使用 d3.js)。数据层由 Mongo 驱动,通过 RESTful API 提供服务,客户端应用程序将在 Ember.js 中编码。我们希望所有数据都通过 API 进行交换,因为我们还有一些移动应用程序会连接到相同的 API。

我正在争论是否编写 API(使用 Express.js 或其他服务器端 MVC 框架),或者只是使用 Deployd 提供 API,除了 Deployd 之外根本不使用服务器端框架。我将提供一些有关项目特征的提示:

  • 主要功能基本上是一个仪表板,显示已计算并存储在 Mongo 数据库中的聚合统计信息。
  • 用户交互非常少,仅足以允许用户自定义仪表板,但用户从不上传数据(自定义首选项除外)。
  • 该应用的大部分内容都是使用大量 d3.js 来创建和渲染一堆图表,这些图表可以通过多种方式进行自定义。
  • 它需要非常丰富且响应迅速的用户界面。

我建议完全跳过服务器端框架,而简单地使用一堆静态 HTML+CSS 并使用客户端 MVC(例如 Ember.js)完成所有繁重的工作。由于所有数据下载和上传都可以由 Deployd 处理,因此纯静态站点的加载速度会更快,也更容易扩展。另外,(我认为)所有与用户相关的数据和验证都可以通过 Deployd 本身来完成。

事实是,当我提到这个想法时,我的一些同事都心脏病发作了。所以我想要一个现实检查:除了 Deployd 之外,我真的需要一个服务器端框架来应对我还无法预见的问题吗?拥有纯静态网站的好处与拥有 Express.js 等网站的好处是否足以权衡?以防万一

最佳答案

我以前没有使用过 Deployd,但快速浏览一下它的文档,它server-side framework 。它接受请求并使用 json 进行响应。它只面向 API 和 json,忽略 html,这与默认的 Ruby on Rails 不同。

我能想到的由于缺乏传统服务器端框架而可能出现的主要问题是身份验证、CORS 和 XSS/CSRF/other common security issues 。如果 Deployd 是内置的或易于添加,您可以通过 Deployd 来满足此要求,但这可能很困难。

进一步查看 Deployd 的文档,我发现有一个 guide对于用户和CORS 。我找不到任何有关 XSS 或 CSRF 的信息。

关于javascript - 实现基于 RESTful API 的 Web 应用程序。我需要服务器端框架吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30204208/

相关文章:

node.js - 我在运行简单 Node 服务器时得到 `getAddrInfo ENOTFOUND localhost`,即使 localhost 存在于/etc/hosts (MacOS El Capitan)

node.js - 使用 NODE_MODULE_VERSION 64 针对不同的 Node.js 版本编译。此版本的 Node.js 需要 NODE_MODULE_VERSION 67

javascript - 我想使用 Node.js、Sails.js 和 MongoDB 构建像 Kinvey 这样的后端服务

java - 使用spring data mongodb进行组聚合

javascript - Angularjs Protractor 设置窗口大小大于屏幕?

javascript - 在附加到屏幕之前编辑返回的结果

javascript - 在光标位置插入文本在空行上失败

javascript - 快速验证返回错误响应错误代码

python - 在python中将html页面转换为二进制格式

javascript - 如何获取iframe跨域的高度