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

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

donald asked 2019-10-08T06:33:13Z
2个解决方案
90 votes

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

Sinatra非常适合产生真正的瘦应用程序。 您的工作量并不多,但是速度非常快。 如果需要数据库连接,则必须将其添加,这样的事情可能使创建中等大小的应用程序成为一个挑战。 基本上,如果您需要非常简单的东西并且不需要Rails,则可能需要Sinatra。

node.js是一个很棒的新框架,用于生成响应式,可伸缩的应用程序,但是它几乎没有像Rails这样的成熟平台具有的附件库。 node.js在基于流和按需数据转换的应用程序方面确实非常出众。 Node Knockout中产生的一些示例非常有趣,但是它们是由一些杰出的团队产生的。

尽管Node Knockout条目做得很好,但与2009年Rails Rumble中产生的那种应用程序相比,它们似乎是缺乏深度和复杂性的玩具。 这并不是要抹杀Node Knockout团队所做的工作,但这确实表明node.js的优势主要与实时事件有关,而与常规的,更普通的基于DB的应用程序无关。

tadman answered 2019-10-08T06:33:46Z
4 votes

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

Node.js更像是Rack,Rails和Sinatra是基于Rack构建的,实际上并没有进行比较。 您可以在Node.js之上使用的Express.js与Sinatra相当,可能还有其他框架与膨胀的Rails堆栈(用Google搜索)相比。 如果您喜欢编码异步Javascript,请使用Node.js。 它也比Sinatra和Rails更快,但是用Ruby编码具有它的优势,因为您可以使用很多非常漂亮的红宝石宝石,这使生活变得轻松。

Vidar answered 2019-10-08T06:34:21Z
translate from https://stackoverflow.com:/questions/3730309/when-to-use-node-js-vs-sinatra-vs-rails