【问题标题】:Do I have to use a Backend when using Backbone.js?使用 Backbone.js 时是否必须使用后端?
【发布时间】:2011-12-17 14:20:19
【问题描述】:
我想开发一个相对简单的应用程序,根据几个输入计算一些值。我不要后端,所有的计算都可以在浏览器中完成。
我对 JavaScript 和 WebApps 有点陌生,我遇到了Backbone.js。
我真的很喜欢 MVC 设计,但是,他们经常提到后端。我的问题:
- 绝对需要后端服务器吗?
- 后端服务器是可选的,但没有后端服务器就没有多大意义。
- 或者说主干真的会帮到我吗?
【问题讨论】:
标签:
javascript
web-applications
backbone.js
【解决方案1】:
- 不需要后端。
- 如果您的应用不需要任何后端,Backbone 也可以完全工作。
- 这取决于您的应用程序。如果您想检索某些输入的值并计算结果,那么 Backbone 不会为您执行此操作 - 它会帮助您构建代码。如果您的应用程序很简单并且不需要对模型、视图和集合或路由的支持,那么使用 Backbone 毫无意义。这个问题很难回答。
例如:Classic todo 示例应用程序不使用任何后端。
【解决方案2】:
Backbone.js 在自动执行适当的 AJAX 请求和解析响应的模型上实现了 fetch()、save()、destroy() 等方法。因此,它通过 REST 服务对后端提供了强大的支持,但它是可选的。
您仍然可以在没有任何服务器端代码的情况下使用模型、视图、路由器和事件。只是不要调用 REST 方法(或随意覆盖它们)。
【解决方案3】:
您可以使用 localStorage 进行持久化(您必须自己实现或在网络上找到它,例如 here)但如果您甚至不需要它,那么您不需要使用任何主干中的持久性方法。
Backbone 旨在帮助您构建中型应用程序(js-wise),因此它不会成为不可维护的 jQuery 意大利面条。对于简短的应用程序(js 方面),除非您尝试了解主干的工作原理,否则这确实是一种过度杀伤。
注意 js-wise 我的意思是客户端代码,如果你有一个巨大的后端,但唯一的 js 将是一些专注于某种形式的东西,它甚至不会算作一个简短的应用程序(js-wise)。
【解决方案4】:
您可以在没有后端的情况下使用backbone.js。但是,您显然无法存储或检索数据。 Backbone 对于保持代码的组织性可能仍然有用,但是当您想要将表示逻辑与操作数据的逻辑分开时,它真的很出色,这是 MVC 模式的目标。通常,您的数据将存储在后端并从后端检索。
如果您想尝试数据持久性,请尝试backlift.com。 [披露,我在 backlift.com 工作] 我们试图让骨干应用程序的启动和运行变得容易,而无需设置服务器或处理编译模板。