REST API支持的backbone.js应用程序的后端体系结构?

REST API支持的backbone.js应用程序的后端体系结构?,rest,architecture,backbone.js,backend,Rest,Architecture,Backbone.js,Backend,我们希望开发一个内部生产力应用程序,它相当重于JS(想想:可编辑字段会变成下拉列表,当前页面上有很多动态添加和删除部分,等等),并由一个单独的现有JSON REST API(而不是本地数据库)支持 在过去使用stock Rails+jQuery制作动态页面的经验不好的情况下,backbone.js似乎是一个更合适的工具。问题是,构造后端的好方法是什么?Rails似乎引入了不必要的复杂性,因为我们不会使用ActiveRecord数据库模型。在我脑海中,还有一些想法是使用Sinatra、Node.j

我们希望开发一个内部生产力应用程序,它相当重于JS(想想:可编辑字段会变成下拉列表,当前页面上有很多动态添加和删除部分,等等),并由一个单独的现有JSON REST API(而不是本地数据库)支持

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

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

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

      { "foo": "bar" }
      
      或对于集合:

      [ { "foo": "bar1" }, { "foo": "bar2" } ]
      
      除此之外,您还可以通过为每个模型类型定义一个urlRoot属性来指定URL的外观,然后是一个URL函数,该函数返回用于获取给定urlRoot和模型的cid(客户机ID)的模型的URL


      总之,如果您实现了一个可以与原始JSON一起工作的标准REST API,那么您应该不会有问题。

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

      Daniel Doubrovkine是Art.sy的首席技术官。他用架子上的那个

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


      他的父亲对此表示担忧。关于Grape的最新版本。

      您想知道在客户端的主干网下使用什么吗


      调查

      既然你说你有Ruby方面的专业知识,我建议你看看。这看起来是创建REST后端的最简单方法,特别是对于Ruby开发人员来说。

      我已经看到它成功地完成了


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

      所以您基本上建议我使用backbone.js,只使用普通HTML,而不使用底层web框架?我知道我的问题不是很清楚:)REST API已经存在,并且将与此应用程序分离。我的问题是在这个应用的主干下使用什么,而不是为RESTAPI提供动力的应用。