何时使用node.js vs sinatra vs rails?

时间:2010-09-16 19:58:06

标签: javascript ruby-on-rails ruby node.js

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

2 个答案:

答案 0 :(得分:90)

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

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

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

虽然Node Knockout条目做得很好,但与2009年Rails Rumble中生成的应用程序相比,它们似乎是缺乏深度和复杂性的玩具。这不是为了诋毁Node Knockout团队所做的工作,但它确实表明node.js的优势主要与实时事件有关,而与传统的更普通的基于DB的应用程序相比更少。

答案 1 :(得分:4)

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

Node.js更像是Rack,Rails和Sinatra是基于它构建的,并没有真正比较。你可以在Node.js之上使用的Express.js可以与Sinatra相媲美,可能还有其他框架可以与膨胀的Rails堆栈进行比较,google它。如果您喜欢编码异步Javascript,请使用Node.js.它也比Sinatra和Rails更快,但Ruby中的编码具有它的优点,因为你可以使用许多非常好的红宝石宝石,让生活变得轻松。