用 Backbone.js 做前端框架,Rails 做后端框架开发的web app 遇到的问题?

backbonejs + rails

RT 我想做这么一个web app,现有两个方案:

  1. 前后台写在一个应用程序里

    优点:开发省事,而且有很多gem包

    缺点:前后台耦合性太高,不便于分工

  2. 前台用brunch,后台还是rails只操作数据

    优点:弥补上述缺点,而且rails只做api接口,提供给多种终端

    缺点:会存在太多的问题:跨域、session、和前端配合

选择哪种方案?为什么选择这种方案?或者你有更好的方案,可以提出来大家讨论讨论!

BTW:可以推荐些开源的用这种方式做web app 的开源项目(加分)

1 个回答

菜鸟先来抛砖吧。

我觉得两种方案的选择关键在于前端需求的复杂性,简单的话第一种就好,杀猪焉用牛刀嘛。(简单或复杂很难界定,就我个人粗浅的认为,在现有的技术下能够解决,比如jquery用起来很舒服的话。如果你需要很费劲的做设计,甚至苦逼到自己设计mvc,还是用框架吧)

对于第二种,当然是前端需求比较复杂的。我刚刚参加实习时做的第一个项目就是采用这种模式的。不过不是backbone ,而是Sencha Touch, 后端用的rails。相比于我们现在的项目,当时的开发算得上是愉快!(我当时写的是后台! :-) ……)

第二种方案,前后台最大化的分离,后台只负责数据处理,提供api;前台则负责数据的展示(当然仅仅只是“展示”那就坑爹了)。这样能够前后并行的开发,前台,后台都可以BDD或者TDD,前台所需的数据用json来提供,与后台交互时改下url,这样前台也就可以把更多的经历用于相应的逻辑和用户体验上。 后台的测试就不用说了。好处是可以专注在逻辑设计及接口的,写出漂亮的api。

至于前后台的配合(前后很可能是不同的人在写),git + git-flow,应该无痛苦了吧 !

对于管理,第二种会好很多吧。责任很明确,而且员工压力似乎变小了(写后台的不用担心前,反之亦然)老板员工都嗨皮了。

我不负责任的说完了,看看能不能引到玉吧! ;-)

你的回答