BitArts Blog

ロードバイク通勤のRubyプログラマで伊豆ダイバー。の個人的なブログ。

プチWebアプリ作るならSinatraを

DBを使わないようなちょろっとしたアプリを作るような場合は、Railsでは設定ファイルのほうが大きくなってしまう感じで大げさだ。かと言ってPHPは死んでも使いたくない。まあCGIでも十分なんだけど、もっとイケてる方法はないだろうか。

というときRubyでやりたいならSinatraがぴったりのようです。そこそこ歴史のあるフレームワークだけど、個人的には今まで作ったものはRailsでしっくりくるケースがほとんどだったので触れる機会がなかった。チョイプロ書くならRailsよりもSinatraのほうが良さそう。

さて、Bundlerを使う場合の開発環境構築の手順メモ。説明は省く。

まずはGemfileを作ってbundle install。

source 'http://rubygems.org'

gem 'sinatra'
gem 'shotgun'
% bundle install —-path vendor/bundle

./config.ruを作る。

require File.dirname(__FILE__) + '/app'
run Sinatra::Application

あとはガリガリとアプリの実装。./app.rb

require 'sinatra'

get '/' do
'Hello, World !'
end

shutogunを実行して http://localhost:9393/ で動作テスト。shotgunはrackupの代替で、ソースを書き換えた時に自動リロードしてくれてサーバ再起動が不要になるので開発中に便利です。

% bundle exec shotgun

Rackアプリなので、Passengerで動かしたり、Herokuにデプロイしたりできる。今ではCGIよりもRackのほうがポータビリティが高いかもしれませんね。

20131212sinatra