为什么要使用Rails使用Backbone.js的? [关闭](Why use Backbone

2019-07-31 03:50发布

Rails有通过js文件和文件js.erb更新其表现层的一种手段,是一些什么样的使用类似Backbone.js的一个框架,具体的好处?

Answer 1:

这里有几个原因:

1)骨干专门使用Rails考虑建立和的帮助下很容易集成骨干,上轨 。 虽然淘汰赛和角度的模型 - 视图 - 视图模型(MVVM)模式可以轻松地集成到一个Rails应用程序,而悄悄地,骨干的MVC架构提供了组织的水平确实必要,如果你的应用程序有很多异步页的更新。 借此堆栈溢出页面,一个简单的例子:

如果您建立在Rails的这个问题看,你有你的问题show.html.erb,,涉及到异步更新此页面上的内容question_show.js,show.js.erb,和所有其他js.erb文件(行动,如向上/向下投票,收藏,评论等)。

在骨干网,一个观点是不标记模板像show.html.erb,相反,它包含在一个地方的所有相关代码,该标记的资源。 因此,而不是定义在一个偏僻的所有事件侦听器,question_show.js文件和处理各种js.erb文件所有的AJAX更新, 所有的事件监听和发布相关的问题表现出的资源被包含在一个地方 ,骨干问题显示视图。 诚然,评论可以有自己的看法和评论自己的收藏,以及其他MVC的元素,我不说也罢。 但点的存在,骨干帮助您确定前端资源。

2)选择像骨架的JavaScript框架,有助于采取一些负载关闭您的服务器代码,其实并不需要执行服务器端。 为什么在渲染服务器上html.erb模板的所有标记元素时,它可以在客户端的浏览器来完成。 在回答安全问题,你加入白名单/格式化你的数据库对象为JSON,并将其运送到客户端时,黑名单数据库对象属性的能力。

3)骨干网(专)似乎给人一种自由的一个良好的数额。 它提供了一组约定,以帮助组织应用程序,但在这一天结束这是你的框架,你正在开发。 骨干的MVC框架是单向的比Rails少,但固体约定坚持。

4)在主干(未说话或反对其他框架),pushState的被容易地实现成期望其使用情况的框架。 然而,pushState的有它的爬虫访问你的内容方面缺点,需要一些服务器端渲染的履带友好的方式合并。 什么是伟大的,虽然,是可以达到同样的历史/降解使用骨干外的箱; 他们的网址片段允许相同的功能,他们只是有一个额外#在那里。

有很多其他原因使用架构像主干,它真的好像有很多的替代品,因为一个框架并不适合所有人。 但我可以证明,骨干似乎是一个很大的框架,如果你从头开始构建的应用程序。 如果你想将它合并到现有的应用程序似乎也是非常可行的。

来源: on Rails的Backbone.js的



文章来源: Why use Backbone.js with Rails? [closed]