我有一个我正在构建的应用程序,它非常有效,例如Craigslist,但功能有限。我通常会在此类应用程序中使用Rails,但我有兴趣学习Nodejs/Backbonejs框架,这似乎是一个接听它的好机会。

我不确定NodeJS和/或Backbonejs如何适合此解决方案?我不一定必须使用导轨,如果有意义,我可以使用nodejs和backbonejs。

谢谢

有帮助吗?

解决方案

您当然可以使用node.js或rails或两者兼有骨干。选择要使用的方法应取决于您的构建,并且在较小程度上,您对每种技术的舒适度水平。

用节点代替导轨
Node.js可以轻松替换导轨的功能,即与数据库交谈,其中包含模型逻辑,服务页面和资产以及控制路由。有很多 吨模块 可用于此。一个常见的解决方案是使用Express(简单的Sinatra类型Web框架)提供页面并处理模板和ODM/ORM来处理数据库对象。还有更广泛的类似轨道的框架,例如盖迪(Geddy)。

我对节点的直接替换为导轨
如果您只是想要导轨的功能,请使用导轨。 Ruby/Rails代码看起来更干净,在我看来更可管理,并且更成熟(随意火焰...)。如果您提供许多不同的页面,Rails在组织事物方面做得很好。但是,如果您要制作一个单个页面应用程序,该应用程序是主链的主要用例之一,那么大部分Rails软件包都是不必要的 - 您只需要模型逻辑和数据库交互即可。在这种情况下,诸如Express(Node)或Sinatra(Ruby)之类的东西,带有ORM和REST的路由,可以在后端和前端之间进行通信。

与节点添加功能
节点的更引人注目的用例是用于实时或多人游戏方面的站点;节点非常适合并发和异步性。如果客户端互相发送数据,则使用节点,而无需重新加载页面或在没有其他页面加载的情况下从服务器推到客户端的数据(一个很好的模块是 socket.io)。同样,这是一种用例,可与单页或高相互作用接口良好的接口配合使用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top