2010-09-16 29 views

回答

90

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

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

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

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

4

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

Node.js更像Rack,这是Rails和Sinatra的基础,并没有真正的比较。可以在Node.js之上使用的Express.js可以与Sinatra相媲美,可能有其他的框架与臃肿的Rails堆栈相比较,它可以是谷歌它。如果您喜欢编码异步Javascript,请使用Node.js.它比Sinatra和Rails更快,但是在Ruby中编码具有优势,因为您可以使用许多非常好的红宝石,这使得生活变得轻松。

+0

Sinatra真棒! – sandelius 2015-01-08 15:43:57

相关问题