【結論】
・Rackとは、Rubyのフレームワークと
アプリケーションサーバーを繋ぐ為のインターフェイス
・フレームワーク/アプリケーションサーバー双方が
Rackにだけ対応させておけば良いので、
それぞれの製作者にとって開発コスト低減のメリットがある
【目次】
【本題】
Rackとは
Rubyのフレームワークとアプリケーションサーバーを
繋ぐ為のインターフェイスです。
アプリケーションサーバーについては、
下記の記事でも取り上げ通り、Rubyを実行して、
動的にコンテンツを生成する箇所です。
Rackが必要な理由
RubyではRuby on Railsが
フレームワークとして圧倒的な地位を占めていますが、
他にもRubyのフレームワークは存在します。
代表的なものだと、下記の通りです。
Sinatra・・・手軽で学習コストが低い
Cuba・・・シンプルで軽量
Ramaze・・・自由度を重視
HANAMI・・・大量アクセス対策の機能あり
Padrino・・・Sinatraの機能拡張版
そして、Rubyに対応したアプリケーションサーバーも
いくつか種類があります。
Unicron
Puma
Passenger
Thin
フレームワークの製作者が、これら全てのアプリケーションサーバーに
自身のフレームワークを対応させようとすると、非常に手間が掛かります。
そして、アプリケーションサーバーの製作者
そこで登場するのが、Rackです。
Rackが、全てのアプリケーションサーバーに対応しているので、
フレームワークの製作者は、自身のフレームワークを
Rackにだけ対応させれば良くなったので、開発が非常にスムーズになりました。
《今日の学習進捗(3年以内に10000時間に向けて)》
就活
学習開始からの期間 :93日
今日までの合計時間:894h
一日あたりの平均学習時間:9.7h
今日までに到達すべき目標時間:849h
目標との解離:45h
「10,000時間」まで、
残り・・・「9106時間!」