(2014.9)
Ruby 1.8.7 のサポート期限が終了したこともあり, ようやく Ruby 2.1, Ruby on Rails 4.1にアップグレードした。
最近の Rubyでは, 各種ライブラリは, gemパッケージをインストールする。しかし, どれが標準的なライブラリか, まったく見当がつかない。
gemコマンドで依存しているパッケージを表示するのは、次のようにする;
$ gem dependency actionmailer Gem actionmailer-4.2.9 actionpack (= 4.2.9) actionview (= 4.2.9) activejob (= 4.2.9) mail (>= 2.5.4, ~> 2.5) rails-dom-testing (>= 1.0.5, ~> 1.0)
依存しているパッケージと, バージョンが表示される。
Ruby on Rails が依存しているライブラリは, 単にメジャーというだけだが, Webアプリの分野では, おおむね標準と考えていいだろう。
Railsが依存しているパッケージをグラフにしてみた。
黄緑がRuby on Railsのgemパッケージ。水色が rails アプリケーションが自動的に依存するパッケージ。
名前から分かりにくいものが多い。
actionpack | web-flowと描画フレームワーク: MVCのうちVCを担当 |
arel | SQL ASTマネジャー |
builder | XMLマークアップのビルダ |
hike | パスの集合からファイルを探す |
sass | CSS3を拡張するコンパイラ |
sdoc | rdoc with JavaScript 検索インデックス |
spring | Railsアプリケーション・プリローダ |
sprockets | Rackベースのassetパッケージシステム |
thor | コマンドラインインターフェイスを作るツールキット |
tilt | 複数のRubyテンプレートエンジンの, 一般的インターフェイス |
turbolinks | Webアプリで, リンクをたどるのを高速化。 |
uglifier | UglifyJS JavaScript圧縮のラッパ。 |
ほかもグラフにしてみた。Mechanize は RubyからWebサイトを操作するためのライブラリ。
(2015.8) Mechanize は JavaScriptを使っているサイトをうまく扱えない。Capybara + capybara-webkit がよい。
さらに, omniauth, passenger, pg, sanitize.
XMLライブラリは, nokogiri が優勢か。