【问题标题】:backbonejs frontend bound via an api to a nodejs backend通过api绑定到nodejs后端的backbonejs前端
【发布时间】:2012-01-20 22:38:33
【问题描述】:

这是我的概念:

  'Javascript Frontend in the Browser (eg. Backbonejs)'
            Handles most of the logic

                       |
                 'RESTful API'
                       |
                       V

     'API Backend (eg. nodejs, python, ruby)'
             Only handles raw data 

我的问题是:这是一个稳定的架构吗?它不会比通用的 python/ruby/java web 应用程序创建更多可能的故障点吗?此外,将前端建立在有一天可以公开访问的 API 上是否是个好主意?

【问题讨论】:

  • 它会创建相同数量的故障点。用“浏览器”替换“javascript前端”

标签: javascript api frontend backend


【解决方案1】:

我在工作中使用这种精确的设计构建了多个工具。我根本没有遇到任何重大问题。最复杂的部分是使用 Web 套接字来定义 Backbone 与之交互的 API,但您可以轻松地将其与 ajax 交换以降低复杂性。

【讨论】:

  • 嘿 Malachor,感谢您的回复。您能否让我更好地了解构建 API 背后的复杂性?
  • 当然可以。设置实际的套接字 API 很容易。您只需在服务器代码中定义端点。客户端有点棘手。我需要一种简单的方法将我的 Backbone 集合和模型绑定到套接字。我最终使用了这个项目link。我忘记了是否必须对代码进行更改,但是设置起来相当容易。对于数据存储,我使用 MongoDB。它有一种类似于 JSON 的数据格式化方式,所以我最初想在客户端和数据库上使用相同的结构。 (续)
  • 这不是最优雅的代码,所以我决定编写一些格式化程序,在将数据发送到客户端之前准备好数据。这是通过 Mongo 的静态模式函数完成的。 iobind 库的真正好处是套接字 url 将如何匹配您的集合或模型名称。因此,如果您有一个名为 Tasks 的集合,那么 create 事件将在socket.on('tasks:create', function(data){}) 有一个套接字端点,无论如何,我希望对您有所帮助。使用 Node.js 和嵌套回调可能会很痛苦,尤其是在使用 MongoDB 时,但你已经习惯了 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-28
  • 2019-01-20
相关资源
最近更新 更多