在node.js服务器上重新使用骨干路由,模型和视图

我正在尝试构build一个应用程序,既可以作为一个SPA,也可以作为一个普通的应用程序,而不会尽可能地重写任何代码。 我的研究已经导致相信,这可能是非常有可能使用节点+主干(在服务器和客户端)。 我已经find了一些如何做到这一点的资源,但没有一个真正完成。 有没有人试过一个完整的解决scheme重新使用所有的代码?

我发现的资源:在服务器上重新使用骨干模型: http : //blog.andyet.com/2011/feb/15/re-using-backbonejs-models-on-the-server-with-node/

在服务器上重新使用骨干视图和布局pipe理器: http : //vimeo.com/46033641

我也发现了一些框架,如(骨头,德比,meteor),但我不觉得使用这样的框架是最好的解决scheme,因为我仍然想要完全控制主干和节点。

您正在尝试实施的是Resource-View-Presenter模型。 请完整阅读本文http://blog.nodejitsu.com/scaling-isomorphic-javascript-code 。 它提供了可同时在客户端和服务器上执行的同构代码的深入了解。 它也帮助我了解各种模型和架构。

backbone.js使用的是传统的MVC框架,它不能在没有修改的情况下在客户端和服务器上工作。 所以如果你想坚持backbone.js,你迟早会面对这个劣势。 我也尝试过骨干,发现没有简单的方法来做到这一点。

我试图在node.js上寻找RVP框架,但它仍然是新的。 我build议你看看flatiron.js http://flatironjs.org/ 。 它基于Resource-View-Presenter模型,这是我能find的唯一一个node.js。 在服务器/客户端上需要做一些改变,但是并不多。 你会发现它与骨干类似。

希望它能帮助你find正确的道路。

我最近在这个领域做了一些研究,发现一些有趣的项目在客户端和服务器(nodejs)上使用相同的骨干代码。

项目1

第一个由Groupon的Keith Norma介绍。 他设法重用客户端和服务器上的骨干路由器+模板。

应用程序演示: https : //github.com/keithnorm/SpainJS-Pipedream-Demo

演讲在西class牙J谈话: http : //www.youtube.com/watch?v = jbn9c_yfuoM

项目2

第二个项目是由Spike Brehm从Airbnb提供的Rendr,但尚未公布。 它似乎有点雄心勃勃,因为它也将骨干模型和集合交易到nodejs服务器。 你可以阅读更多关于它在这里: http : //nerds.airbnb.com/weve-launched-our-first-nodejs-app-to-product

更新 :Rendr代码已经发布: https : //github.com/airbnb/rendr

项目3

还有一个项目也允许在客户端和服务器之间共享主干代码: https : //github.com/developmentseed/bones