ページ内ナビ
概要
Sinatraは、RubyでWeb applicationを素早く作るための軽量DSLです。route、filter、helper、template、session、streaming等を必要な分だけ組み合わせ、Rack middlewareとしてもRack endpointとしても扱えます。mainのversionは4.2.1で、Sinatra 4系はRack 3を前提にします。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
HTTP methodとURL patternをroute blockへ直接結び付ける
get、post、put、patch、deleteなどのDSLでrouteを定義し、named parameter、wildcard、条件付きroute、status/header/bodyをRuby codeから直接扱えます。
出典:[2]
filter・helper・template・Rack middlewareを小さなapplicationへ組み合わせる
before/after filter、helper、ERB等のtemplate、session、streaming、static file、Rack middlewareを必要な分だけ組み込み、Sinatra::Baseでmodular applicationやreusable componentとして構成できます。
出典:[2]
向いている用途
小規模API、internal tool、Webhook、機能を絞ったRuby serviceに向く
full-stack frameworkの規約を多く持ち込まず、HTTP endpointと処理を近い位置で明示したいbackendや、既存Rack stackへ小さなendpointを追加したい場合に適します。
出典:[2]
導入前の確認
Sinatra 4系はRack 3前提。server・rackup・security設定をdependencyとして確認する
mainのversionは4.2.1で、gemspecはRuby 2.7.8以上、Rack 3以上4未満を要求します。Sinatra 4.0でRack 2 supportは終了し、server起動にはrackupが別途必要です。READMEはPumaを例示し、Rack::Protectionによるattack protectionやsession secret、host authorizationもapplication要件に合わせて確認する必要があります。
参考にした公式資料
- [1]sinatra/sinatra — GitHub repository(2026-10-06)
- [2]Sinatra — README(2026-10-06)
- [3]Sinatra — sinatra.gemspec(2026-10-06)
- [4]Sinatra — CHANGELOG(2026-10-06)
- [5]Sinatra — MIT License(2026-10-06)
編集部からの補足
Railsほど大きなframeworkを必要としないAPIやWebhookで、HTTP routeと処理を近く保てるのが強みです。Sinatra 4系はRack 3前提なので、既存Rack 2 stackからの移行ではmiddleware亖換性とrackup/server構成を先に確認してください。
3ステップで試す
- 1
ソースを取得
git clone --depth 1 https://github.com/sinatra/sinatra.git - 2
リポジトリへ移動
cd sinatra - 3
公式手順を確認
READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
成長
成長の推移 · 直近30日
12,454 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 0
- Open PR
- 21
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Flask74,897 Stars
共通タグ 3件 · 共通カテゴリ 1件
PythonでURLルーティング・request処理・Jinja templateを組み立てる軽量WSGIフレームワーク
Python - Express69,541 Stars
共通タグ 3件 · 共通カテゴリ 1件
routingとmiddlewareを薄いHTTP layerとして組み合わせ、Node.js API/Web backendを構築するframework
JavaScript - Grape10,009 Stars
共通タグ 4件 · 共通カテゴリ 3件 · 同じ言語
REST-like APIのrouting・params validation・versioningをRuby DSLでまとめるAPI framework
Ruby - Rack5,131 Stars
共通タグ 3件 · 共通カテゴリ 3件 · 同じ言語
Web serverとRuby frameworkを最小request/response interfaceでつなぎ、middleware stackを共通化する
Ruby - Actix Web24,855 Stars
共通タグ 3件 · 共通カテゴリ 3件
RustでHTTP APIやWebSocketを高性能に構築し、Tokio上で非同期Webサーバーを動かす
Rust - Hanami6,422 Stars
共通タグ 3件 · 共通カテゴリ 2件 · 同じ言語
Router・Action・View・DBを小さなcomponentとして組み合わせ、保守しやすいRuby applicationを構築する
Ruby
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。