2011-06-28 10 views
0

ruby​​で簡単なWebアプリケーションを書くためにどのようなフレームワークをお勧めしますか?WebRickMongrelSinatraRubyで最も簡単なサーブレットライブラリは何ですか?

クライアントからのリクエストにjsonで回答したいと思います。可能な限り私自身のコードをHttpフレームワークから切り離したいと思っています。

他のフレームワークについて知っていますか?

答えて

1

WEBrickとMongrelは、Webアプリケーションを構築するためのフレームワークではなく、サーバーです。そのため、低レベルのAPIがあり、独自の固有性に結びついているため、Webアプリケーションを設計して別のサーバー上で実行できるようにする場合は、起動が悪い場所になります。

私は、最近、RubyのWebアプリケーションとWebフレームワークを構築するための標準ベースレイヤーであるRack上に構築されたフレームワークを探しています。

本当にシンプルなものを作っている場合は、Rackのインターフェイスを覚えておくと良いでしょう。

E.G.、ポストリクエストのボディからjsonを解析してprettifiedするバックエンドアプリケーションです。

# in a file named config.ru 
require 'json' 
class JSONPrettyPrinterPrinter 
    def call env 
    request = Rack::Request.new env 
    if request.post? 
     object = JSON.parse request.body 
     [200, {}, [JSON.pretty_generate(object)]] 
    else 
     [200, {}, ["nothing to see here"]] 
    end 
    end 
end 

run JSONPrettyPrinterPrinter 

rackupをファイルと同じディレクトリに実行すると、このファイルを実行できます。

それとも、あなたは何か、もう少し高いレベルをしたい場合、あなたはシナトラのREADMEは、それの機能に優れた導入で、この

require 'sinatra' 

post '/' do 
    object = JSON.parse request.body 
    JSON.pretty_generate(object) 
end 

のように見えた、sinatraを使用することができます。

2

WEBrickの使用はお勧めしません。 Rackと互換性のあるフレームワークが最適です。あなたはスピードのためにRackに直接書き込むことができますが、Sinatraはずっと楽しく、しかも非常に速いので本当に不必要です。

また、Halcyonをチェックアウトすることもできます。それがまだ維持されているかどうかはわかりませんが、JSONで応答するAPIを作成するために設計されています。

+0

あなたの答えに感謝します。あなたはWEBrick(またはポインタを与える)について詳しく説明できますか? –

関連する問題