微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我很想知道这一段时间,但还没有找到答案.

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

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

解决方法

rails的一大优势是,您可以使用一个平台和一种语言来处理服务器代码,并可以生成客户端代码(使用视图).

毫无疑问,一旦您希望通过javascript和jquery改善用户体验,这种理论优势就会迅速开始下滑.所以实际上你还是要学两种语言.

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

什么是javacript / client MVC(如Backbone.js,Sproutcore,…)可以为您提供更原生的应用程序感觉.单个网页应用程序,例如Gmail中.
根据您的要求,这种平台有一些非常有效的用例.例如.在具有低连接性的地方或设备中,使用不需要一直“在线”的Web应用程序(HTML5)非常有用.它可以将数据和编辑保存到本地存储,并在设备重新联机时同步回服务器/数据库.

但是,与Rails一起开发客户端MVC应用程序时有一个很大的缺点:你必须进行一些双重开发(当你使用flex / silverlight时它是一样的).您的模型需要在服务器和客户端上定义.我可以想象可以做一些改进,比如在客户端MVC上你实际上使用的是presenter-classes,它在服务器端可以存储在不同的模型/表中.但是仍然会出现重复的逻辑,模型……

所以这就是为什么我认为对于大多数应用程序来说,目前切换到某个客户端MVC框架并不明智.这将是一项更多的工作.

但是,当您确实需要真实本机应用程序或单页Web应用程序的外观时,那么javascript客户端MVC框架就是您的选择.如果你确实需要一个客户端MVC框架,我会建议Sproutcore.

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐