web-dev-qa-db-ja.com

いつnode.js対sinatra対railsを使用するのですか?

これら3つの言語/フレームワークの最適な用途は何ですか?それらすべて(または2)を混合することは役に立ちますか?

60
donald

完全なWebアプリケーションを構築している場合は、Railsを使用することをお勧めします。これは、最も包括的なサービスを提供するためです。コミュニティによって作成された膨大な量の作業を活用することもできます。

Sinatraは、本当に薄くて実用的なアプリケーションサービスを作成するのに最適です。作業する量は多くありませんが、非常に高速です。データベース接続が必要な場合は、それを追加する必要があります。このようなことは、中規模のアプリケーションの作成さえも困難にする可能性があります。基本的に、非常にシンプルなものが必要でRailsが必要ない場合は、おそらくSinatraが必要です。

node.jsは、レスポンシブでスケーラブルなアプリケーションを作成するための優れた新しいフレームワークですが、Railsのような成熟したプラットフォームのようなアドオンのライブラリはほとんどありません。node.jsは本当に優れています。ストリーミングとオンデマンドのデータ変換に基づくアプリケーションで Node Knockout で作成された例のいくつかは非常に興味深いですが、これらはいくつかの例外的なチームによって作成されました。

Nodeノックアウトエントリは非常によくできていますが、2009年に作成された種類のアプリケーションと比較すると Rails Rumble 奥行きのないおもちゃとして遭遇するようですこれは、Nodeノックアウトチームが行った作業の信用を落とすことではありませんが、node.jsの長所はほとんどリアルタイムイベントに関係し、従来のより一般的なDBベースのアプリ。

90
tadman

Railsを使用して、クライアントのために作業していて、速い現金が必要な場合。アプリのコーディングを楽しみ、最大限の柔軟性とアプリの速度を維持したい場合は、Sinatraを使用してください。大規模なアプリケーションを簡単に構築できますそれを使うと、そうでなければそれを使用しなかったと言う人々。

Node.jsは、Rackに似ています。Rackは、Railsであり、Sinatraが構築されており、実際には比較されません。Node.jsの上で使用できるExpress.jsは、シナトラ、肥大化したRailsスタックと比較する他のフレームワークがあるかもしれません。それをググってください。非同期Javascriptをコーディングしたい場合は、Node.jsを使用してください。また、シナトラやレールよりも高速ですが、 Rubyは、たくさんの本当にいいニースを使用できるので、利点がありますRuby宝石は、生活を楽にします。

4
Vidar