【发布时间】:2011-04-13 10:03:04
【问题描述】:
这 3 种语言/框架的最佳用途是什么?混合所有(或 2 个)有用吗?
【问题讨论】:
标签: javascript ruby-on-rails ruby node.js
这 3 种语言/框架的最佳用途是什么?混合所有(或 2 个)有用吗?
【问题讨论】:
标签: javascript ruby-on-rails ruby node.js
如果您正在构建一个完整的 Web 应用程序,您可能应该使用 Rails,因为它提供了最全面的服务。您还可以利用社区产生的大量工作。
Sinatra 非常适合制作非常精简、实用的应用程序服务。你没有太多的工作,但它非常快。如果您需要数据库连接,则必须将其添加进去,这样的事情甚至会使创建中型应用程序成为一项挑战。基本上如果你需要一些非常简单的东西而不需要 Rails,你可能需要 Sinatra。
node.js 是一个很棒的新框架,用于生成响应式、可扩展的应用程序,但它几乎没有像 Rails 这样的成熟平台所具备的附加组件库。 node.js 非常擅长基于流和按需数据转换的应用程序。 Node Knockout 中的一些示例非常有趣,但这些示例是由一些出色的团队制作的。
虽然 Node Knockout 条目做得很好,但与 2009 年 Rails Rumble 中生成的那种应用程序相比,它们似乎是缺乏深度和复杂性的玩具。这并不是要贬低 Node Knockout 团队所做的工作,但它确实表明 node.js 的优势主要与实时事件有关,而不是与传统的更普通的基于 DB 的应用程序有关。
【讨论】:
如果您正在为客户工作并且需要一些快速现金,请使用 Rails。如果您想享受编写应用程序的乐趣并保持最大的灵活性和应用程序速度,请使用 Sinatra。用它来构建大型应用程序很容易,那些说没有用过的人。
Node.js 更像是 Rack,Rails 和 Sinatra 是基于它构建的,并没有真正的可比性。 Express.js 可以在 Node.js 之上使用,它可以与 Sinatra 相媲美,可能还有其他框架可以与臃肿的 Rails 堆栈相比,google 一下。如果您喜欢编写异步 Javascript,请使用 Node.js。它也比 Sinatra 和 Rails 快,但是用 Ruby 编码有它的优势,因为您可以使用许多非常好的 ruby gem,这让生活变得轻松。
【讨论】: