読者です 読者をやめる 読者になる 読者になる

Λάδι Βιώσας

http://profile.hatena.ne.jp/kenkitii/

rack を使った簡易Webフレームワークを作ってみた

元々は、ruby on rails を覚えようと思ってたんですよね。しかし rails の勉強は見事に挫折しました。個人的に、どうもフレームワークの使い方の勉強ってのが楽しくなくて。や、仕事でならどんなフレームワークでもちゃんと覚えますけど、趣味プログラミングだとあまりやる気が起きず。。。

で、既存のフレームワーク使うのが嫌なら自分で作っちゃえ、とばかりに、今年の2月くらいから、rack を使って簡易 web フレームワークをぼつぼつ調べながら作ってたんですが、いまいちな出来&飽きたのもあって中途半端なところでほっぽって置いてました。

しかし、ここのところ色々と話題になってる、えがちゃんって人を見て、(出来はともかく)やっぱとにかく手を動かすべきだよなあ、と思い考えを改め重い腰をあげて作る&公開してみます。

ちなみに自分は、python 製の web.py っていう web フレームワークしか使った事無いんですが、へぼい web.py もどきって意味で hebo.rb って名前にしてみました。ソースは、バグあるかもしれないし修正する可能性があるので ここに貼付けずに、google code にあげてあります。これ↓
http://code.google.com/p/kenkiti/source/browse/trunk/ruby/hebo.rb/hebo.rb

使うまでの準備

sudo gem install rack

rack を入れた後、上記の hebo.rb をダウンロードして適当なパスに置いときます。

サンプルスクリプト

こんな↓感じ。web.py っていうよりほとんど ramaze に近い、、、

#!/usr/bin/env ruby
require 'hebo'

class MyApp < Hebo::Application
  def index(name)
    if name.nil?
      "hello world!"
    else
      "hello #{name}"
    end
  end
end

Hebo.start MyApp, :adapter => :webrick # or :cgi

まぁ、こんなフレームワーク自分しか使う人いないでしょうし、使い方の説明は面倒なのでしません。とりあえず、ruby で自作 web フレームワーク作ってみたい人への参考用コード等になれば、と。。。とりあえず明日は、この自作フレームワークを使って、tropyもどきを作ってみます。