0

WebRickMongrel、およびSinatraの間で、Ruby で単純な Web アプリケーションを作成するためにどのフレームワークをお勧めしますか?

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

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

4

2 に答える 2

2

WEBrick の使用はお勧めしません。ラック互換のフレームワークが最適です。速度を上げるためにRackに直接書き込むこともできますが、Sinatraの方がはるかに快適で、それでも非常に高速であるため、実際には必要ありません.

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

于 2011-06-28T16:29:20.517 に答える
1

WEBrick と Mongrel はサーバーであり、Web アプリケーションを構築するためのフレームワークではありません。そのため、低レベルで独自の特異性に結び付けられた API を持っているため、異なるサーバーで実行できるように Web アプリケーションを設計する場合、開始点として不適切です。

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

本当に単純なものを作成している場合は、Rack のインターフェイス自体を学習することから始めるのが適切です。

EG は、ポスト リクエストの本文から json を解析し、整形して出力するラック アプリケーションです。

# 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ファイルと同じディレクトリで実行することで実行できます。

または、もう少し高レベルのものが必要な場合は、次のようにsinatraを使用できます。

require 'sinatra'

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

Sinatra の README は、その機能の優れた紹介です。

于 2011-06-30T23:42:39.427 に答える