适合单页 Web 应用程序的后端?

Posted

技术标签:

【中文标题】适合单页 Web 应用程序的后端?【英文标题】:Appropriate back-end for a single-page web application? 【发布时间】:2012-06-22 16:08:09 【问题描述】:

过去我主要使用 Django 编写 Web 应用程序,但现在我越来越想使用 Backbone.js 或类似的 javascript 框架编写单页 Web 应用程序,其后端仅由一个数据库和一个 API。

我的问题是这样的。如果我的应用程序结构如下所示:

 1. Database
 |
 v
 2. API methods
 |
 v
 3. Single-page front-end written with Backbone

而且我在 Django 中最自在——但也热衷于学习新事物,例如 NoSQL 和 Node,如果它们合适的话——人们会推荐我用于 (2) 什么?

通常我会使用带有 Piston 的 Django 作为 API 应用程序,但拥有所有 Django 并仅将其用作 API 提供程序似乎相当重量级。不过,也许我不应该担心。

【问题讨论】:

了解所需的 API 有多大和有多复杂,以及您期望系统上有多少流量/负载是相关的。对于更小、更简单的项目,可以选择使用更小、更简单的工具。 Flask + Flask-SQLAlchemy + Flask-Restless 代替#2,你很高兴。 【参考方案1】:

如果您使用 Django(一个 MVC 框架)并使用 Backbone,您可能会很乐意在纯 Node.js 或 Express.js 中设置您的应用程序,并使用其他模块连接到您选择的数据库。

使用 Express,如果您打算仅通过 RESTful 接口提供 JSON,您甚至不需要使用方便的视图。您只需要设置模型和路由(也可用作控制器)。

【讨论】:

【参考方案2】:

任何能够支持或提供 RESTful API 的服务器端框架或语言都应该可以工作。我自己现在正在使用 Slim php。但是看到您来自 Django/Python 背景,也许这篇文章会对您有所帮助。

Recommendations of Python REST (web services) framework?

【讨论】:

以上是关于适合单页 Web 应用程序的后端?的主要内容,如果未能解决你的问题,请参考以下文章

《单页web应用 javaScript从前端到后端》 1.2 spa.html小例子demo

什么是适合 relayjs 的后端?

通过代理或直接从单页应用程序访问Keycloak Admin API?

什么是后端开发?好的后端开发人员应具备哪些能力?

常见的后端框架

如何在后端 API 中验证 AzureAD accessToken