ruby-on-rails - Backbone.js 前端和 RESTful Rails 后端?

标签 ruby-on-rails backbone.js model-view-controller frontend

我从 PHP 开始在 Web 开发领域,然后是最近几年的 Rails。从那时起,我一直在 Rails 中完成我所有的 Web 项目。

最近似乎有一种趋势,使 Rails 成为纯 RESTful 后端服务,并使用 Backbone.js 等前端框架进行所有前端交互。我想知道你们对此有何看法?这会是最终的 future 吗?

此外,除了 Backbone.js,还有哪些其他替代方案可以用于此目的的前端框架?

还假设我希望同时支持我的应用程序的桌面版本和移动版本,这是否是正确的选择?所以我会有一个带有不同前端服务的后端服务吗?这样我就不需要管理 Rails 方面的所有 View ?

谢谢!

最佳答案

对于客户端框架,本文列出了其中的 20 个,其中有优缺点:
http://net.tutsplus.com/articles/web-roundups/20-javascript-frameworks-worth-checking-out/

这是列表:

  • Backbone.js
  • Knockout.js
  • Asana luna
  • Cappucino
  • Sproutcore
  • BatmanJS
  • corMVC
  • TrimJunction
  • pureMVC
  • jamal
  • choco
  • sammyjs
  • extJS
  • agilityJS
  • eyeballs
  • activejs
  • spinejs
  • qooxdoo

  • 这些大致都是关于创建客户端、基于 ajax 的 javascript MVC 框架。

    如果您想从某个地方开始,那么我建议您考虑 客户端模板 (...ates...ates...ates)(只是“V”)来支持面向服务的架构(许多客户端由您创建的服务端点支持)。

    这是一种新技术,涉及模块化客户端代码,将 MVC 带到客户端,并让业务逻辑存在于平台中。许多软件即服务应用程序都在利用它们,并且随着 javascript 库和框架的日益复杂,以及具有 HTML5、CSS3 等的浏览器功能,客户端呈现的复杂性将会越来越高.

    所以学吧。

    有什么好处?

    套用 Linked In:用于利用浏览器缓存、解耦前端客户端呈现、异步加载、渐进式渲染(对于某些框架)、性能、ajax 交互等等。

    几个伟大的框架包括:
  • mustache
  • dust.js
  • handlebars
  • Google Closure Templates
  • Nun
  • Mu
  • kite

  • 我强烈建议查看 Linked In's move away from JSP towards Client-Side Templates以及他们为什么在 Linked In's front-end client-side templates throwdown 中选择dust.js进行比较。他们更详细地研究了他们为什么改变他们的堆栈来支持这一点(它涉及使用 3 种服务器端技术),以及他们对他们能找到的所有框架的比较。

    关于ruby-on-rails - Backbone.js 前端和 RESTful Rails 后端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9494468/

    相关文章:

    ruby-on-rails - 如何使用 Koala 从 Facebook 登录创建 Rails 应用程序用户?

    ruby-on-rails - 获取 rails Controller 对象的命名空间?

    ruby-on-rails - 请推荐用于 RoR 开发的布局 gem

    javascript - 如何通过主干接收图像?

    jquery - 主干网和jqm : back button how to restore page context

    javascript - 使用 Backbone 和 Marionette 基于子路由更改布局区域

    http - Angular.JS 尝试使用 OPTIONS HTTP 方法加载 View 失败

    ruby-on-rails - 升级到 bootstrap-sass 3.2.0 的问题

    java - 如何为单个按钮设置多个 ActionListener

    javascript - 在 Knockout 中保存原始值