新手问题 关于前端 MVC,如 spinejs,batmanjsangularjs 和 backbone 在 Rails 中的使用

wcc526 · 2014年05月07日 · 最后由 loddit 回复于 2014年07月02日 · 3898 次阅读

最近再次听了 teahour 的节目 (每天要听好几遍,一天不听,浑身难受),节目中提到了 javascript MVC 在 rails 中的使用,用的比较多的应该就是 backbone,spinejs,batmanjs,angularjs

backbone 和 angularjs 好是好,但是好像不容易与 rails 集成。

@yedingding也分享了风车技术架构,他们用的是 spine.js http://yedingding.com/2014/03/20/fengcheco-architecture.html

@xdite说他们用的是 batmanjs,但是 batman 也是最近才兴起的 javascript MVC.

另外,好像 spinejs 和 backbone 相关的 gem 包都好像没有明确支持 rails4 https://github.com/spine/spine-rails https://github.com/codebrew/backbone-rails

我想问的是,对于比较大的项目而言,rails 是否有必要使有 javascript MVC,使用哪种会比较好,带来的相应好处是什么?大家能不能介绍下在实际项目中的使用经验?谢谢!

说到前端 MVC,如果是新项目,现在的大趋势就是 Angular 和 Ember 了。而 Angular 基本成为 MVC 的事实标准了。当然还有一些用 micro framework 自己组装的。另外虽然现在还没到 1.0,但 Batman 很早就有了。

#1 楼 @darkbaby123 谢谢您的回答,angular 单独拿出是没问题,但是与 rails 集成的话要怎么办?angular 自带的一些东西并不能很好地与 rails match.

3 楼 已删除

@wcc526 没研究过跟 Rails 如何集成,不好回答你的问题。如果你希望跟 Rails 结合的更好点,试试 Ember 吧,那里面很多人都是同时搞 Rails 的,所以跟 Rails 集成也做得最方便。一个 ember-rails gem 就可以解决了。

相比用什么 MVC 框架,我觉得你更应该的考虑下 是否有必要使用前端 MVC

无论什么框架都不存在什么集成的问题,一个是前端,一个是后端,分得很清楚。你稍微看一些那些 gem 的代码就知道了,Ruby 不过一两行,就是把 assets 放到合适的位置而已。

#5 楼 @darkbaby123 “是否有必要使用前端 MVC”这个问题我非常 care,现在 rails 中使用前端的 mvc 的项目多吗?

http://www.dwellable.com/blog/Rails-Rumble-Gem-Teardown

从这个总结可以看出,好像前端 MVC 在 rails 项目中好像并没有很流行。前端 MVC 听起来很高大上,但是如果在实际 rails 项目中究竟如何呢?

前端 MVC 是另外一个世界,不是说不好,但那是一个 DHH 不喜欢的世界。

@wcc526 虽然我很想说你大胆用吧,但这个真取决于你适不适应这种开发方式。建议你先找个前端 MVC 框架做个试验项目练练手。不然别人的一些经验说了你也不会有切身体会。

有时候“自己试试”这种 看起来最笨的方法其实最高效

ember 现在在国外的公司最流行,建议学这个

#2 楼 @wcc526 最近一直在写 angular,个人认为和 rails 配合还可以。一方面可以保留 rails 的 routes 只用 angular 做数据绑定,另一方面可以用 ng-view 使 angular-route,没有什么难以集成

至于经验,个人感觉和单独写 angular 没有任何差异…除了要防止压缩有些特别的写法,其余的用 coffee 啊用 slim 什么的都很方便

楼主可以看看我们深圳 Ruby 活动上次分享的一个 angularjs 与 rails 集成的 slide: http://slides.com/windy/angularjs

batman.js 看介绍应该是和 Rails 配合比较好的

需要 登录 后方可回复, 如果你还没有账号请 注册新账号