3

我们正在寻求开发一个内部生产力应用程序,该应用程序相当 JS-heavy(想想:变成下拉列表的可编辑字段,当前页面上的大量动态添加和删除部分等),并由单独的现有 JSON 支持REST API 而不是本地数据库。

过去曾有过使用 Rails+jQuery 制作动态页面的糟糕经历,backbone.js 似乎是一个更合适的工具。问题是,构建后端的好方法是什么?Rails 似乎引入了不必要的复杂性,因为我们不会使用 ActiveRecord 数据库模型。我想到的其他一些想法是使用 Sinatra、Node.js 或纯 HTML。以下是更多注意事项:

  • 它绝不是单页应用程序。将至少有 3 个不同的“非散列”URL 部分,因此路由引擎会有所帮助。
  • 我们是一家 Ruby 商店,所以任何基于 Ruby 的东西都更容易维护。
  • 这个应用程序是独一无二的,因为几乎没有动态保存数据到服务器。发回数据后页面重新加载很好。但是,如上所述,在此之前会有大量的客户端操作。
4

5 回答 5

4

问题是将后端构建为纯 api 引擎。然后按照您的计划在客户端计算机上使用 MVC 堆栈。

Daniel Doubrovkine 是 Art.sy 的首席技术官。他使用骑在机架上的葡萄。

Grape 是一种用于在 Rack 上构建 API 的 DSL。包括可测试性并处理多个版本、身份验证、访问控制和文档的问题。

他对此的介绍。他关于 Grape 最新版本的博客文章。

于 2012-06-18T01:58:21.573 回答
1

Backbone.js 相当灵活;没有多少是硬连线的。也就是说,默认情况下,它会查找返回格式为 JSON 的模型的后端服务。因此,如果您有一个具有属性foo的模型,那么您的服务应该返回以下内容:

{ "foo": "bar" }

或者对于一个集合:

[ { "foo": "bar1" }, { "foo": "bar2" } ]

除此之外,您可以通过为每种模型类型定义一个urlRoot属性来指定 URL 的外观,然后是一个url函数,该函数返回用于获取模型的 URL 给定urlRoot和模型的cid(客户端 ID)。

所以总而言之,如果你实现了一个可以使用原始 JSON 的标准 REST API,那么你应该没问题。

于 2012-06-17T23:43:04.307 回答
0

我已经看到Middleman成功完成了它。

基本上 Middleman 会编译您的静态资产,然后您可以将其发送到 CDN 或基本 Web 服务器(例如 Apache 或 Nginx)。您需要的 3 个不同页面通过让 Middleman 生成 3 个单独的 HTML 文件来处理。

于 2013-08-07T07:45:11.920 回答
0

您想知道在客户端的 Backbone 下使用什么?

看看木偶教程写博客

于 2012-06-19T15:57:12.340 回答
0

既然你说你有 Ruby 专业知识,我建议你看看Sinatra。它看起来像是制作 REST 后端的最简单方法,尤其是对于 Ruby 开发人员而言。

于 2012-08-26T09:13:01.563 回答