我们正在寻求开发一个相当JS重的内部生产力应用程序(想想:可编辑字段变成下拉列表,大量动态添加和删除当前页面上的部分等),并支持分离现有的JSON REST API而不是本地数据库。
过去使用Rails + jQuery创建动态页面的经验很糟糕,backbone.js似乎是一个更合适的工具。问题是,什么是构造后端的好方法? Rails似乎引入了不必要的复杂性,因为我们不会使用ActiveRecord数据库模型。在我的脑海中,其他一些想法是使用Sinatra,Node.js或纯HTML。以下是更多注意事项:
答案 0 :(得分:4)
问题是将后端构建为纯api引擎。然后在客户端计算机上使用MVC堆栈进行规划。
Daniel Doubrovkine是Art.sy的首席技术官。他使用Grape骑在Rack上。
Grape是用于在Rack上构建API的DSL。包括可测试性和处理多个版本,身份验证,访问控制和文档的问题。
他的presentation就此而言。他的blog post关于最新版的Grape。
答案 1 :(得分:1)
Backbone.js非常灵活;没有那么多的硬连线。也就是说,默认情况下,它会查找返回格式为JSON的模型的后端服务。因此,如果您的模型具有属性 foo ,那么您的服务应该返回:
{ "foo": "bar" }
或者收藏:
[ { "foo": "bar1" }, { "foo": "bar2" } ]
除此之外,您可以通过为每种模型类型定义 urlRoot 属性来指定URL的外观,然后返回用于获取模型的URL的 url 函数给出 urlRoot 和模型的 cid (客户端ID)。
总而言之,如果您实现了可以使用原始JSON的标准REST API,那么您应该没问题。
答案 2 :(得分:0)
您想了解客户端上Backbone下面的内容吗?
答案 3 :(得分:0)
既然你说你有Ruby专业知识,我建议你看看Sinatra。它看起来是制作REST后端的最简单方法,特别是对于Ruby开发人员。
答案 4 :(得分:0)
我已经看到它成功完成with Middleman。
基本上,Middleman编译您的静态资产,然后您可以将其发送到CDN或基本Web服务器(例如Apache或Nginx)。您需要的3个不同页面由Middleman生成3个单独的HTML文件来处理。