この記事は、Rubyでアプリを作ってみたいけど、何から手を付ければいいかわからない
という人のために、実際にRubyをどう学んでいけばいいかRubyのアプリをどうやって作ればいいかをまとめた記事です。この記事を最後まで読んでいただくと、自分で簡単なアプリを作成し動かすことができるようになります。本記事を最後まで読んで、一緒にアプリ開発をできるようになりましょう。
※本記事での実行環境はMacを想定したものとなっています。
参照:Rubyを基礎から応用までの勉強するための方法を解説した記事はこちら
1. Rubyを使ってみる
Macをお使いの場合、最初からパソコンにRubyがインストールされています。最初からインストールされているRubyはSystemRuby(システムルビー)と呼ばれています。まずはこのSystemRubyを使って実際に手元でRubyを動かしてみることを目標に始めましょう。
Rubyを動かすためにはMacに最初から入っているターミナルと呼ばれるMacアプリを使う必要があります。ターミナルは、 Finder -> アプリケーション -> ユーティリティ -> ターミナルから開くことが出来ます。Rubyはこのターミナル上で
<code>
ruby xxxx.rb
</code>
というコマンドを打ち込むと使うことが出来ます。では早速下記のコマンドをターミナルに打ち込んでください。
<code>
touch hello.rb
echo “p ‘Hello!'” >> hello.rb
ruby hello.rb
</code>
いかがでしょうか。画面中に “Hello!” の文字が表示されたと思います。 1行目の
<code>
touch hello.rb
</code>
でファイルを作成し 、2行目の
<code>
echo “p ‘Hello!'” >> hello.rb
</code>
で作成したファイルの中身にRubyプログラムを記述し、3行目の
<code>
ruby hello.rb
</code>
で作成したRubyファイルを実行しています。以上のような操作でRubyのプログラムを動かすことができました。
2. 最新のRubyをインストールする
Macに最初からインストールされているSystemRubyの多くは、最新のRubyのバージョンではありません。新しいバージョンのRubyは、元からインストールされているRubyと比べてより便利な機能が追加されています。今後の開発をスムーズに行うためにここで、Ruby環境を最新にしたいと思います。
最新のRubyを入れるためのrbenvというツールを使います。rbenvは様々なバージョンのRubyを使えるようにサポートしてくれるツールです。早速次のコマンドをターミナル上に打ち込んでrbenvをinstallしてみましょう。
<code>
brew update
brew install rbenv ruby-build
echo ‘eval “$(rbenv init -)”‘ >> ~/.bash_profile
source ~/.bash_profile
rbenv –version
</code>
最後のコマンドを実行してバージョン情報が出力されたら、rbenvのインストールが完了です。
rbenvをinstallしたら最新のRubyをインストールします。今回は現状最新版の 2.3.1をinstallします。また同じようにターミナルに以下のコマンドを打ち込んでみてください。
<code>
rbenv install 2.3.1
rbenv global 2.3.1
</code>
以上でインストール完了です。最後に
<code>
ruby -v
</code>
を実行して、Rubyのバージョンが2.3.1になっていることを確認してください。
3. Rubyの記法を効率的に覚える
プログラミングでは、プログラミング言語毎に特有の記法があります。それぞれの記法に沿って作成しないとプログラムは動かすことができないので、アプリを作成するためには記法を覚えることは必須条件となります。ここではRuby特有の記法を覚えるために見ておきたいサイトを2つほど紹介します。
Ruby本家のマニュアルサイトになります。Rubyとはどういう特徴をもった言語なのか、どんな構文があるのかなど、Ruby全般について書かれています。Rubyでのプログラミング経験が長い方も振り返りに見たりするサイトです。新しいRubyのバージョンがでる度に都度更新されるので、初心者のうちから慣れ親しんでおくことをおすすめします。
動画で実際の作業手順を確認しながら学習していくサイトになります。様々なプログラミング言語の入門講座があり、Ruby入門の講座もあります。1つ3分前後と短いため、覚えるべきことを集中して取り組むことができるので初心者の方にも馴染めやすいサイトかと思います。
以上2つのサイトをご紹介させていただきました。例に上げたサイトに目を通しつつ、Rubyを触っていけば基本的な記法部分については、早く身についていくと思うので時間があるときに是非試してみてください。
4. Rubyでの開発を加速するBundlerについて知る
Rubyを使う際に、殆どのケースでBundler(http://bundler.io/)と呼ばれる機能が使われます。Bundlerはgemと呼ばれる他の人達が使ったライブラリを自分のプロジェクトで管理するためのツールです。Bundlerは主に下記のような特徴を持ちます
- gemライブラリのバージョンを指定できる
- gemのアップデート対応が簡単にできる
- プロジェクトごとに使うgemのバージョンを変えられる
上記のような特徴は、例えば現状のプロジェクトだと最新のgemをいれると互換性が保てなくなってしまい動かなくなってしまうが、新しく作るプロジェクトでは最新のgemを使いたいといった場合に有効に機能します。仮にBundlerを使わないとRubyのバージョン毎にgemライブラリがインストールされてしまうので、プロジェクト毎に別のgemを使うと行ったことができなくなってしまいます。Bundlerのメリットを知ったところで、早速手元の環境にBundlerをいれてみましょう。
rbenvを入れている場合はBundlerのインストールは簡単で、ターミナル上で下記のコマンドを実行するとインストール完了です。
<code>
rbenv exec gem install bundler
rbenv rehash
</code>
これでBundlerが使えるようになりました。
5. Sinatraを使ってechoアプリを作成する
これまでを通してRubyを扱う下準備ができたので、早速Rubyでアプリを作成していきましょう。今回は比較的簡単に扱えるSinatraというgemをつかってメッセージを送ったら、送ったメッセージを返してくれるアプリを作成していきたいと思います。まずターミナル上で、作業するためのディレクトリを作成してください。
<code>
cd ~/
mkdir echo-app
</code>
ここでよく使う新しいコマンドがでてきたので説明します。
<code>
cd
</code>
はChangeDirectoryの略で、フォルダを移動する際に使うコマンドです。
<code>
mkdir <ディレクトリ名>
</code>
は新しいディレクトリを作成するコマンドです。mkdirの後に渡された名前でディレクトリを作成します。
次に新しく作成されたディレクトリに移動し、今回のプロジェクト用にBundlerを使う準備をします。
<code>
cd echo-app
bundler init
</code>
echo-appの中にGemfileというファイルが出来たと思います。今回使うgemライブラリを管理するためのファイルになります。早速できたファイルの中身を見てみましょう。ファイルの中身をみるには次のコマンドを実行してください。
<code>
open Gemfile
</code>
txtエディターが起動すると以下のような内容が出てきたかと思います。
<code>
# frozen_string_literal: true
# A sample Gemfile
source “https://rubygems.org”
# gem “rails”
</code>
この中に新しく使うgemライブラリを定義すると、gemを使う準備ができます。今回はSinatraというgemライブラリを使うので次の1行を追加してください。
<code>
# frozen_string_literal: true
# A sample Gemfile
source “https://rubygems.org”
# gem “rails”
gem ‘sinatra’ # ここを新しく追加
</code>
追加したらターミナルに戻って次のコマンドを実行し、プロジェクトにgemをinstallします。
<code>
bundle install –path vendor/bundle
</code>
これでecho-appディレクトリ以下にvendor/bundleというディレクトリが作成され、sinatraが使えるようになりました。
ここまできたら後はアプリを作成するだけです。main.rbという新しいファイルを作成して、次の内容を記述してください。
<code>
# main.rb
require ‘sinatra’
get ‘/:message’ do
params[:message]
end
</code>
これで送ったメッセージをそのまま表示するアプリとして動くようになります。ファイル内のコードについて説明を補足します。行頭の
<code>
require ‘sinatra’
</code>
ですが、これはSinatraを使うよという宣言になります。次に
<code>
get ‘/:keyword’ do
params[:keyword]
end
</code>
ですが、これはSinatra独自の記法で、`/`にアクセスがきたら、messageに指定してある文字列を相手に返すという処理になっています。
実際に動かしてみましょう。bundle execという接頭辞をつけてRubyを実行すると、インストールしたgemが使えるようになります。
<code>
bundle exec ruby main.rb
</code>
実行したらhttp://localhost:4567/test というURLにブラウザからアクセスしてみてください。ブラウザにtestという文字が表示されていると思います。またtestという文字列を色々な文字列に変えて何度かアクセスしてみてください。自分が送った文字が表示されるはずです。これでechoアプリが完成です。今回はアプリを起動して、メッセージを返すという簡単な機能を作りましたが、基本は大きく変わりません。
まとめ
いかがでしたか?
ここまで記事を読んで頂いて、Rubyで動くアプリを作れるという自信をもっていただくことができましたでしょうか。
Rubyは今も尚多くの開発者が携わっている言語ですので、これからどんどん伸びていく言語です。今回は簡単なアプリを作ることを目標においていましたが、Rubyは知れば知るほど楽しくなる言語ですので今回紹介したサイトやドキュメントを読んで理解を深めていっていただけたら幸いです。
参考になった方は是非シェアをお願いします。
参照:Rubyを基礎から応用までの勉強するための方法を解説した記事はこちら
フリーランスになるために必要な知識やスキルアップの方法等、様々なお役立ち情報を発信していきます。
(リモートワーク案件に強いフリーランスエージェント「クラウドワークス テック」を運営)