什么时候使用node.js vs sinatra vs rails?

这3种语言/框架的最佳用途是什么? 混合所有这些(或2)是否有用?

如果你正在构build一个完整的Web应用程序,你应该使用Rails,因为它提供了最全面的服务。 您还可以利用社区制作的大量工作。

Sinatra非常适合生产非常简洁的应用程序。 你并没有太多的工作,但速度非常快。 如果您需要数据库连接,则必须添加数据库连接,这样的事情可能会使创build中型应用程序成为一项挑战。 基本上如果你需要的东西很简单,不需要Rails,你可能需要Sinatra。

node.js是一个用于生成响应式可伸缩应用程序的优秀新框架,但它几乎没有像Rails这样的成熟平台所具有的附加组件库。 node.js确实擅长基于stream和按需数据转换的应用程序。 在Node Knockout中生成的一些例子非常有趣,但是这些例子是由一些特殊的团队制作的。

虽然Node Knockout条目做得非常好,但与2009年Rails Rumble中生成的应用程序相比,它们看起来像缺乏深度和复杂性的玩具。 这不是为了抹黑Node Knockout团队所做的工作,但是它确实certificate了node.js的优势主要在于实时事件,而传统的更普通的基于DB的应用则更less。

如果您为客户工作并需要一些快速现金,请使用Rails。 如果你想享受编码你的应用程序,并保持最大的灵活性和应用程序的速度,使用Sinatra。 用它来构build大型应用程序是很容易的,否则那些说不用它的人。

Node.js更像Rack,Rails和Sinatra是build立在这个基础上的,并没有真正的比较。 可以在Node.js上使用的Express.js可以和Sinatra相媲美,可能还有其他的框架可以与臃肿的Rails栈进行比较。 如果您喜欢编码asynchronousJavascript,请使用Node.js. 它也比Sinatra和Rails快,但是在Ruby中编码有其优点,因为你可以使用许多非常好的ruby,这使得生活变得简单。