实施基于 RESTful API 的 Web 应用程序。我需要一个服务器端框架吗?
Implementing a RESTful API based Web App. Do I need a server-side framework?
我正在开始一个项目,它基本上是一个单页应用程序,可以下载并显示大量统计信息(使用 d3.js)。数据层由 Mongo 驱动,通过 RESTful API 提供服务,客户端应用程序将在 Ember.js 中编码。我们希望所有数据都通过 API 进行交换,因为我们还有一些移动应用程序处于次要位置,它们将挂接到相同的 API.
我正在讨论是编写 API(使用 Express.js 或其他服务器端 MVC 框架),还是只为 API 使用 Deployd 而不是使用服务器除了 Deployd 之外,完全没有端框架。我将提供一些有关项目特征的提示:
- 主要功能基本上是一个仪表板,显示已计算并存储在 Mongo 数据库中的汇总统计信息。
- 用户交互最少,仅允许用户自定义他们的仪表板,但用户从不上传数据(除自定义首选项外)。
- 大多数应用都是大量d3.js创建和渲染一堆图形,可以通过多种方式自定义。
- 它需要一个非常丰富且响应迅速的用户界面。
我建议完全跳过服务器端框架,简单地使用一堆静态 HTML+CSS 并使用客户端 MVC 完成所有繁重的工作,例如 Ember.js。由于所有数据下载和上传都可以由 Deployd 处理,因此纯静态站点的加载速度会快得多,也更容易扩展。此外,(我认为)所有与用户相关的数据和验证都可以使用 Deployd 本身完成。
问题是,当我提到这个想法时,我的一些同事心跳加速。所以我想要一个现实检查:除了 Deployd,我真的需要一个服务器端框架来应对我还无法预见的问题吗?拥有一个纯静态站点的好处是否足以权衡取舍Express.js 以防万一?
我之前没有使用过 Deployd,但通过快速浏览其文档,它 是 一个 server-side framework。它接受请求并以 json 响应。它只是面向 API 和 json 而忽略了 html,不像 Rails 上的默认 Ruby。
我能想到的主要问题可能是由于缺少传统的服务器端框架而导致的,例如 auth、CORS 和 XSS/CSRF/other common security issues。如果 Deployd 是内置的或易于添加的,您可以通过 Deployd 来解决这个问题,但这可能很困难。
进一步查看 Deployd 的文档,我发现有一个 guide for users and CORS。我找不到任何关于 XSS 或 CSRF 的信息。
我正在开始一个项目,它基本上是一个单页应用程序,可以下载并显示大量统计信息(使用 d3.js)。数据层由 Mongo 驱动,通过 RESTful API 提供服务,客户端应用程序将在 Ember.js 中编码。我们希望所有数据都通过 API 进行交换,因为我们还有一些移动应用程序处于次要位置,它们将挂接到相同的 API.
我正在讨论是编写 API(使用 Express.js 或其他服务器端 MVC 框架),还是只为 API 使用 Deployd 而不是使用服务器除了 Deployd 之外,完全没有端框架。我将提供一些有关项目特征的提示:
- 主要功能基本上是一个仪表板,显示已计算并存储在 Mongo 数据库中的汇总统计信息。
- 用户交互最少,仅允许用户自定义他们的仪表板,但用户从不上传数据(除自定义首选项外)。
- 大多数应用都是大量d3.js创建和渲染一堆图形,可以通过多种方式自定义。
- 它需要一个非常丰富且响应迅速的用户界面。
我建议完全跳过服务器端框架,简单地使用一堆静态 HTML+CSS 并使用客户端 MVC 完成所有繁重的工作,例如 Ember.js。由于所有数据下载和上传都可以由 Deployd 处理,因此纯静态站点的加载速度会快得多,也更容易扩展。此外,(我认为)所有与用户相关的数据和验证都可以使用 Deployd 本身完成。
问题是,当我提到这个想法时,我的一些同事心跳加速。所以我想要一个现实检查:除了 Deployd,我真的需要一个服务器端框架来应对我还无法预见的问题吗?拥有一个纯静态站点的好处是否足以权衡取舍Express.js 以防万一?
我之前没有使用过 Deployd,但通过快速浏览其文档,它 是 一个 server-side framework。它接受请求并以 json 响应。它只是面向 API 和 json 而忽略了 html,不像 Rails 上的默认 Ruby。
我能想到的主要问题可能是由于缺少传统的服务器端框架而导致的,例如 auth、CORS 和 XSS/CSRF/other common security issues。如果 Deployd 是内置的或易于添加的,您可以通过 Deployd 来解决这个问题,但这可能很困难。
进一步查看 Deployd 的文档,我发现有一个 guide for users and CORS。我找不到任何关于 XSS 或 CSRF 的信息。