在Django和Backbone.js中使用Node.js

一些背景:我打算用Django作为后端构build一个应用程序,并使用Backbone.js作为前端Javascript框架。 这是一个单页面应用程序(SPA),这就是我决定使用Backbone.js的原因。 该应用程序类似于博客引擎; 用户发布包含文本和图像的条目,并能够通过“标签”查看它们。 他们可以通过“标签”或特定的单词search条目。

最近听到关于Node.js的所有大惊小怪,我想知道它如何帮助我的应用程序? 但我不想让应用程序纯粹运行在后端的node.js上,也就是说,我仍然希望使用Django作为后端。 如上所述,是否可以将Node用于“中端”?

如何使用Node.js优化我的应用程序?

这听起来像你的应用程序不一定需要Node.js。 除了像Django或Rails这样更传统的框架外,您可能还想使用Node的主要原因是应用程序中存在实时或多人游戏方面的问题。

我不会使用Node.js,因为有很多关于它的事情 – 如果你需要前面提到的function,它可能会很棒。

您的应用程序的高级架构可能如下所示:

Django的

  • 提供单一页面
  • 提供资产(css,js,图片等)
  • 处理数据库连接 – 最好为每个数据模型设置RESTful路由
  • 数据处理等…

骨干

  • 处理用户交互
  • 使http请求读取和写入数据

节点(可选)

  • 使用类似Socket.io的通知客户端的更新(而不是极化)
  • 您可以用一个或多个节点模块组合replaceDjango的function

如果你对python和Django感到满意,我build议使用像Tornado这样的Web服务器。 如果您熟悉Django,使用起来非常简单,学习曲线陡峭。 一般来说,你会看到性能的改进,你将有能力去实现“晦涩”的function,比如Comet编程。

至于前端,是的,骨干是一个很好的select,但也留意咖啡标记…