gpt4 book ai didi

ruby-on-rails - 结合 Ruby on Rails 和 Backbone

转载 作者:数据小太阳 更新时间:2023-10-29 06:54:02 27 4
gpt4 key购买 nike

我想知道这个问题已经有一段时间了,但还没有真正找到答案。

为什么要在 Rails 应用程序中使用 Backbone.js exaclty?是为了扩展功能、为您的 JS 提供更多 MVC 模式、构建更好的 API ......?

目前我看不出你为什么要用它来做什么,因为我不认为我理解 Backbone.js 的概念

最佳答案

Rails 的一大优势在于您拥有一个平台和一种语言,可以处理服务器代码并生成客户端代码(使用 View )。

毫无疑问,一旦您想使用 javascript 和 jquery 改善用户体验,这种理论上的优势就会迅速消失。所以实际上你还是要学习两种语言。

但仍然:您所有的模型、业务规则……都是在服务器端用 Ruby 处理的。这也意味着必须始终可以访问服务器。

javacript/client MVC(如 Backbone.js、Sproutcore 等)可以为您提供更原生的应用程序感觉。单个网页应用程序,例如电子邮件。根据您的要求,此类平台有一些非常有效的用例。例如。在连接性较低的地方或设备上,拥有一个不需要一直“在线”的网络应用程序可能非常有用(使用 HTML5)。它可以将数据和编辑保存到本地存储,并在设备重新联机时同步回服务器/数据库。

但是,结合 Rails 开发客户端 MVC 应用程序有一个很大的缺点:您将不得不进行一些双重开发(使用 flex/silverlight 时也是如此)。您的模型将需要在服务器和客户端上定义。我可以想象可以进行一些改进,例如在客户端 MVC 上您实际上使用的是演示器类,在服务器端可以将其存储在不同的模型/表中。但是还是会有重复的逻辑,模型,...

所以这就是为什么我认为对于大多数应用程序而言,目前切换到某些客户端 MVC 框架是不明智的。这将需要更多的工作。

但是,当您确实需要真正的 native 应用程序或单页 Web 应用程序的外观和感觉时,JavaScript 客户端 MVC 框架才是最佳选择。如果您确实需要客户端 MVC 框架,我会建议 Sproutcore .

要简单地对您当前的 Rails 应用程序进行 ajax 化(减少每个页面的加载时间),请查看 pjax-rails .

关于ruby-on-rails - 结合 Ruby on Rails 和 Backbone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6277899/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com