akishin999の日記

調べた事などを書いて行きます。

sinatra で Hello world!

今さらだけど、Rails の開発で使っている InstantRails 2.0 の環境に sinatra をインストールして使ってみた。

インストール

C:\InstantRails-2.0-win\rails_apps>gem install sinatra
Successfully installed rack-0.9.1
Successfully installed sinatra-0.9.1.1
2 gems installed
Installing ri documentation for rack-0.9.1...
Installing ri documentation for sinatra-0.9.1.1...
Installing RDoc documentation for rack-0.9.1...
Installing RDoc documentation for sinatra-0.9.1.1...

Hello world!

普通に拡張子 *.rb のファイルを作成して書くだけ。

# hello.rb
require 'rubygems'
require 'sinatra'

get '/' do
  'Hello world!'
end

サーバ起動

実行も普通の ruby スクリプトとして実行すると勝手にサーバが起動する。
rails_apps の下に作ってるのは単に InstantRails から Console を起動した時に楽だからってだけ。
細かい事は気にしない。

C:\InstantRails-2.0-win\rails_apps\sinatra>ruby hello.rb
== Sinatra/0.9.1.1 has taken the stage on 4567 for development with backup from Mongrel

起動したらブラウザから「http://localhost:4567」にアクセスすれば OK。
これだけで「Hello world!」と表示される。

Route を追加

以下のように定義を追加すればその URL でアクセスできるようになる。

get '/index' do
  'インデックスページ'
end

この場合は「http://localhost:4567/index」。
ファイルを UTF-8 で保存したら日本語でも問題なく表示された。


Rails に比べると随分軽い印象。
一つのファイルを弄れば動くってのもいい感じ。
ちょっとした Web アプリをささっと書くには sinatra のが向いてそう。