Rails以外のRubyフレームワークスレ Sinatra etc
Rails以外のRubyフレームワークについて語るスレ
Merb
Waves
Sinatra
Ramaze
Camping
Vintage
Halcyon
Nitro/Og
Wuby
Ruby WAF
webby
いらね
全く必要ない
存在価値ゼロ
Railsが凄いのであって
Rubyが凄いのではない。
Rubyで作られたフレームワークはクソばかり。
そういや、自称Rubyファンが
「RubyはフレームワークがRailsしかなくて
選ばなくていいから他のように迷わなくていい」
という、普通は選択肢が少ないのはデメリットなんだけどーって
突っ込みたくなるようなことを言ったので、
その場で、Rails以外のフレームワークを3,4個いったら
顔真っ赤にしてたっけ。
Sinatra
http://ja.wikipedia.org/wiki/Sinatra Sinatra(シナトラ)は、Rubyで作成されたオープンソースのWebアプリケーションフレームワークである。2007年に公開された。
Ruby on Railsに代表されるModel View Controller(MVC)には基づかない設計で作成されており、
小さく、柔軟性があるプログラミングが可能となるよう意識されている。
一方、SinatraベースにPadrinoというフレームワークが作成されており、
こちらはMVC構造やヘルパー、国際化に対応している。
Padrino
Sinatraは、いくつかの企業や団体によって、使用されている。代表的なところでは、
アップル[1]、BBC[2]、イギリス政府[3]、LinkedIn[4]、Heroku、GitHub、
Songbird[5]などである。また、HerokuはSinatraの開発を支援している[6]。
http://ja.wikipedia.org/wiki/Padrino Padrino(パドリーノ)は、Rubyで書かれたオープンソースのWebアプリケーションフレームワークである。Sinatraをベースに作成されている[1][2]。
SinatraがModel View Controller(MVC)の構造を採用していないのに対して、PadrinoはMVC構造を採用している。
Padrinoは、MVC構造やヘルパー、国際化機能、テストの自動生成などの機能をSinatraに追加した形となっている。
http://ja.wikipedia.org/wiki/Merb Merb
Merb は Rubyで書かれたMVCアーキテクチャで オープンソースのWebアプリケーションフレームワーク。
Ruby on Rails との互換性を高度に意識した、軽量マイクロカーネル的アプローチで、
コアな機能にのみ集中し、他の機能をプラグインへ任せている。
2008年12月23日付けで Merb プロジェクトは Ruby on Rails と統合される事になった。
両者の一番良い機能をもったものが2010年8月29日に Rails 3.0 としてリリースされた。
http://d.hatena.ne.jp/keyword/Ramaze RubyにおけるWebアプリケーションフレームワークのひとつ。
簡潔・軽量・モジュール化を目指して以下の八つの原則に従って開発されている。
KISS (Keep It Super Simple) : Rubyを知っている人ならば簡単に書けること
POLS (Principle of Least Surprise) : 直観的で簡単。驚きを最小限に
Modular design : モジュール化により構成を選択可能にしておくこと
Minimal dependencies : 基本的な構成はRubyとRackとInnateのみに依存
Documentation : 全てが文書化されること
Open development : パッチ大歓迎
Examples : 実例を豊富に用意すること
Fully BDD (Behaviour Driven Design) : Bacon を用いた BDD
忘れられたRubyのWebフレームワーク
http://www.infoq.com/jp/news/2007/11/forgotten-ruby-web-frameworks Ruby on Railsの成功で、その他のwebフレームワークに存在価値はあるだろうか?
誰でもRailsを知っているだろう。またMerbやCampingのことを聞いた事がある人はいるかもしれない。
しかし、Nitro、Ramaze、natra、IOWAやCeriseという名前のWebフレームワークを聞いたことが
ある人は誰かいるだろうか?今回InfoQは、これらのWebフレームワークを足早にですが紹介していく。
またこれらのフレームワークが、ネット上のコミュニティにどれぐらい評価されているか、もしくは無視されているかを見ていきたいと思う。
Camping(サイト・英語)は、それ自体を一貫して4kb未満のコードにとどまるWebフレームワークと定義付けしている。
Nitro(サイト・英語)は、3年前に作られた「Web2.0」フレームワークである。
Ramaze(サイト・英語)は、生まれてまだ6ヶ月の軽量なRubyのWebフレームワークで、有名なRubyの原則に従って作られた。
Sinatra(サイト・英語)は、生まれて一ヶ月のDSLなWeb開発フレームワークである。
Railsのように独自の完成されたコアを持っているNitroは別として、ユーザが自由に、
好みのORMやテンプレートシステムを組み込んで使えるように、その他のWebフレームワークは
出来るだけ小さくなろうとしている。たとえ、それらのフレームワークが、Railsと比べて、
機能が乏しかったり、知名度が低かったり、ユーザが少なかったりしても、
依然としてそれらのフレームワークを見る価値はあるかもしれない。
話題が続くことを願って以前書いた markdown の簡易ビューアなど貼ってみる
#!/usr/bin/env ruby
require 'sinatra'
require 'redcarpet'
def markdownify(text)
Redcarpet::Markdown.new(Redcarpet::Render::HTML,
no_intra_emphasis: true, fenced_code_blocks: true).render(text)
end
get "/" do
Dir.glob("*.md").map{|fn| %|<li><a href="#{fn}}">#{fn}</a></ul>| }.join
end
get "/*" do |fn|
markdownify(File.read(fn))
end
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
Ramaze ええやん
Ramazeもいいと思うんだけど、正直Sinatraの簡潔さのインパクトには負ける
わろた
読めない
ひとりで?
こわいよ