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

60

这3种语言/框架最佳应用是什么?将它们混合使用(或2种)有用吗?

2个回答

91
如果您正在构建完整的Web应用程序,您应该使用Rails,因为它提供了最全面的服务。您还可以利用社区产生的大量工作。
Sinatra非常适合生成非常简单的应用程序服务。您没有太多可用的东西,但它非常快。如果需要数据库连接,则必须添加它,而这些事情可能会使创建中等大小的应用程序成为一项挑战。基本上,如果您需要非常简单的东西并且不需要Rails,则可能需要Sinatra。
node.js是一个非常好的框架,可以生成响应式,可扩展的应用程序,但它没有像Rails这样成熟平台的库那么多。node.js真正擅长基于流和按需数据转换的应用程序。一些Node Knockout中产生的示例非常有趣,但这些是由一些特殊的团队制作的。
虽然Node Knockout条目非常出色,但与2009年Rails Rumble中产生的应用程序相比,它们似乎显得缺乏深度和复杂性。这并不是要贬低Node Knockout团队所做的工作,但它确实表明了node.js的优势主要与实时事件有关,而与传统的更普通的基于DB的应用程序无关。

4

如果你正在为客户工作,并需要快速赚钱,请使用Rails。如果您想享受编写应用程序的乐趣并保持最大的灵活性和应用程序速度,请使用Sinatra。使用它可以轻松构建大型应用程序,否则声称无法做到的人可能没有使用过它。

Node.js更像是Rack,Rails和Sinatra是基于它构建的,不太可比较。您可以在Node.js上使用Express.js,它与Sinatra相当,可能还有其他框架可以与臃肿的Rails堆栈进行比较,请谷歌一下。如果您喜欢编写异步JavaScript,请使用Node.js。它也比Sinatra和Rails更快,但是使用Ruby编码具有优势,因为您可以使用许多非常好的Ruby gem使生活更加轻松。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接