フレームワークって何ぞ。
いわゆるテンプレート
プログラムには、それぞれ決まり文句があって、これを使えば、こう結果を返す、みたいなテンプレートが存在するそうです。
これをいかにどっかから見つけて、応用して組んでいくか、という力が問われるのだとか何とか。
Rubyでいうと、Ruby on Railsが有名なフレームワークとしてありますが、複雑なプログラムを組める反面、初心者にとっては難易度が高く、とっつき難いとのこと。
そして勧められたのが、Sinatraです。Ruby on Railsの軽量版みたいな感じで、フレームワークを学ぶには手ごろで初心者向けと教わりました。
というわけで、早速ですがSinatraをインストールしていきます。
Sinatraをインストールしよう
ターミナルを起動して、以下の手順でインストールします。
1)以下のコマンドを実行して、Sinatraをインストールする
$ sudo gem install sinatra
以下のコマンドが返ってきたらインストール完了
$ 【数字】gem installed
2)Sinatraの拡張機能も以下のコマンドを実行してインストールしておく
$ sudo gem install sinatra-contrib
以下のコマンドが返ってきたら、インストール完了
$ 【数字】gem installed
3)以下のコマンドを実行して、Sinatraのリローダーもインストールしておく
※インストール直後に、PASSを求められるので、MacにログインするときのPASS
を入力する。
$ sudo gem install sinatra-reloader
以下のコマンドが返ってきたら、インストール完了
$ 【数字】gem installed
4)以下のコマンドを実行してgemのアップデートデータを入手する
※インストール直後に、PASSを求められるので、MacにログインするときのPASS
を入力する。
$ sudo gem install rubygems-update
以下のコマンドが返ってきたら、インストール完了
$ 【数字】gem installed
5)以下のコマンドを実行して4)で入手したアップデートデータをインストールする
$ sudo update_rubygems
以上で、Sinatraを使用する環境が整ったはずです。
次はいよいよ、実際にSinatraを使用して実行したプログラムをwebに表示させます!
テキストエディタでコードを書いてみよう
前回の投稿でも記載したように、テキストエディタAtomを利用してコードを書いていきます。
ここで注意したいのが、作成したテキストファイルを格納しておくディレクトリを決めておきます。
なるべくなら、分かりやすいところが良いと思いますので、今回は以下のように設定します。
・テキストファイル名
myapp.rb
・格納フォルダ
ruby-2.2
※ruby-2.2はlocalフォルダの下層にあります。
1)Atomを起動して、ファイル名をつけて保存する
・画面上部の【ファイル】→【保存】を選択
・【Save As】の入力欄がテキストファイル名なので、『myapp.rb』と入力
・フォルダは『ruby-2.2』を選択する
2)以下のコードを入力し、上書き保存する
#myapp.rb
require 'sinatra'
get '/' do
"hello,world!"
end
※Atomだとこんな感じになるはずです。
3)ターミナルを起動し、テキストファイルが格納されているディレクトリまで移動する
$ cd local/ruby-2.2
※ターミナルウィンドウ上部のフォルダアイコンのところに『ruby-2.2』と表示されていたら、移動成功です。
4)以下のコマンドを実行し、ターミナル上にテキスト入力したコードを呼び出す
$ ruby myapp.rb
※実行後、最後に以下の結果が返ってきたら成功しているはず。
- -> /
5)以下のローカルホストに接続してみる
※以下のように表示されたら成功です!
ね、簡単でしょう?
この辺は、あーでもないこーでもないと自力でやってましたが、そのおかげでwebに呼び出す意味、構造というのが少し理解できた気がします。
というか、かなり感動しました。ターミナルで直接表示させたときよりも遥かに嬉しかったです。
深く考えずに、私がこれまでつらつらと記載してきたとおりにやれば、ここまでは簡単にできてしまうのです。
ここからが本当の始まりだ・・・ってことで、次の目標は、簡単でも良いので、『動的webサイトを作る』です!
ちなみに、sinatraはテキストを書き換えた後、再びwebに呼び出すには、sinatraを再起動しなければならない=ターミナルを再起動しないといけません。
それを自動リロードするコマンドがあるのですが、うまくいかず、苦戦しています。
これができるできないとで、かなり変わってくるとのことなので、頑張るしかないのだけど、難しいなぁ・・・。
今日のまとめ的な何か
・Ruby on Railsから入るよりもSinatraでまずはコードを書くことに慣れる
・テキストエディタはファイル名とディレクトリを決めておくことが大事
・Sinatraはreloaderが使えないと本当に不便つかめんどくさい