Sinatraといっても、フランク・シナトラじゃないよ。My Wayは聞きほれたけれど。
Rubyの超軽量フレームワーク Sinatra
http://www.sinatrarb.com/
FLOSS桜山でRubyについて発表させていただいたとき、河合さんから紹介してもらいました(感謝)。まったく注目していなかったんだけれどね。
Ruby on Railはとてもいいけれど、バージョンアップが早くてちょっと追いつけないでいます。それに、小さいプログラムを動かすときはちょっと重い。
xreaという安い共有サーバーでRedMineを動かすのはCGIで動かすしかないのだけれど、Webからアクセスされるたびに初期設定から始まるのでいつも数秒はかかるんだよね。それは重量級になったらしょうがないね、
じゃあちょっとだけ動かすのには、Merbはという意見はあるけれど保留。xreaのrubyは1.8.5なので、merbのインストールができなかった(涙)。
- xreaでのrubygemsの導入
http://diaspar.jp/node/135 を参考
ただ、rubygem のバージョン1.3.1がうまく入らないらしい。私は1.2のまま使用 - gem でsinatraを導入
gem install sinatra
index.cgi
#!/usr/bin/env ruby require 'rubygems' require 'sinatra' get '' do 'Hello Sinatra!!!!' end set_options :run => false, :env => :cgi Rack::Handler::CGI.run Sinatra.application
.htaccess
SetEnv RUBYLIB /virtual/アカウント/lib/site_ruby/1.8:/virtual/アカウント/lib SetEnv GEM_HOME /virtual/アカウント/lib/ruby/gem AddHandler cgi-script .cgi Options +FollowSymLinks +ExecCGI
xreaに限らず共有サーバーに、独自でrubygemsを入れた場合は、上記のSetEnvの2行を.htaccessに設定する必要があります。
実行してみると、結構早い。
ただ、SinatraはMVCのうちCのController部分だけになる。
VつまりViewは、RailsではActionViewのrhtmlが使われるが、HAML & Ssasはどうだろうか?
http://haml.ursm.jp/
XMLに対してのyamlのように、HTMLに対してのhamlということになる。
(自分で書いていて略号が多くてわかりにくいなぁ)
MのModelは、ActionModelでも、DataMapperでも、Sequelでもいいかぁ。使ったことないけれど。
heroku.orgでもSinatraをサポートし始めたし、Google Apps Engine でもJava+ JrubyでSinatra使えそうだし、軽量アプリにはいいかも。
http://blog.bigcurl.de/2009/04/running-sinatra-apps-on-google.html (英語)
http://jugyo.org/blog/3388 (日本語)
longkey1さんのブリッターは、sinatraで作られているアプリケーションとしては魁じゃない!?
http://brtr.longkey1.net/
どもです。
htaccessの部分参考になりました。
この辺の情報って、あまり無いんですよね・・・。
レンタルサーバーで気軽に動かしたいアプリには、なかなか良いかもですよね、Sinatora。
longkey1 引用::
longkey1さん、コメントをありがとうございます。
そうそう、.htaccces やRubygemsの入れ方はコツですよね。
どちらも、ぐぐって参考にして、自分でも試行錯誤をしながら使ってみています。
レンタルサーバーは安くて、ちょっと試してみたい。公開というより、どからでも自分用に使いたいという用途に必要ですよね。
XREA Plusの年間2400円はやめられません。