今Ruby on Railsに入門するならこの教材と進め方が最短!

Ruby on Railsを比較的最近始めた私がやる価値のあると感じた教材を紹介していきます。また、それらの教材の最短の進め方についても触れられたらと思います。

Railsができて10年以上経つため、ベテランの方も多いです。ただ、そういった方は入門者の気持ちを忘れている可能性があるし、当時の教材を紹介されても今は古くなってしまっているでしょう。

ここ1、2年でRailsに入門した私は、今教材を紹介するのにちょうどいい時期にいるのではないかと思い、この記事を書くことにしました。

なお、この記事は基礎的なHTMLとCSSを理解できる方以上を対象にしています。

おすすめの入門教材

Ruby on Rails チュートリアル

Railsチュートリアルのイメージ

Ruby on Rails チュートリアル

Ruby on Rails チュートリアル(通称「Railsチュートリアル」)はRails入門者のためのバイブルと言えるくらいの存在になっています。ブラウザで見る分には無料です。どのRails勉強会に行っても、まずこれをやりましょう、と言われるのではないでしょうか。Twitterのようなマイクロブログをハンズオン形式で(実際にコードを書いて)作っていくというチュートリアルになっています。実際の開発に必要な、開発環境、バージョン管理、テストなどの作業も含まれています。なので、単なるRailsの使い方ではなく、実際に開発で使える作業フローの練習にもなります。

プログラミングの経験(Rubyじゃなくても)がある方は、いきなりこれを始めるのがよいと思います。 (プログラミング経験自体がない方は次の教材を見てください。)

とはいえ、いきなり開発フローを実践していくため、途中でハマる人がほとんどだと思います。 ハマった時点で、次以降の教材を参考にしてみてください。

※「ハマる」:難しくて独力で進められなくなる状態

この記事では、この教材を迷いなくすすめられる状態が、入門レベルを卒業した状態だとします。

たのしいRuby 第5版

高橋 征義 (著), 後藤 裕蔵 (著), まつもと ゆきひろ (監修) SBクリエイティブ; 5版 (2016/2/26)

プログラミング未経験者の方、Railsチュートリアルで言語的な難しさからハマった方は、一度このRubyというプログラミング言語自体の入門書をやることをおすすめします。オンラインや書籍のRuby教材をいくつか試したましたが、これが一番力がつきます。

なお、章末についている練習問題もしっかりやりましょう。わからなくても解答をすぐに見ずに、未完成でもいいので自分なりのコードを書いてみてください。

Code SchoolのRailsコース

Code Schoolのイメージ

Code SchoolのRailsコース

Railsチュートリアルをやっていて、Rubyの言語はわかるが、Railsの使い方についてわかっていないのでハマってしまう、という状態になった場合は、このオンライン教材がおすすめです。

最初にビデオでレクチャーがあり、その後ゲームによる問題、のセットが何セットかあります。ゲームは、ゾンビ等の敵が出てきて問題を出してきます。ブラウザ上のエディターで回答することにより、敵を倒していくという、とても楽しい教材になっています。自分も時間を忘れてこの教材は取り組めました。

この教材は、1月29ドルと有料ですが、無料で見れるレクチャーもあるので、一度見てみることをおすすめします。課金する場合は1ヶ月でRailsのレクチャーを全て終わらせれば29ドルですみます。(自分はそうしました。)

Ruby自体のレクチャーもありますが、とりあえずやるのはRailsだけで大丈夫です。

ひとつネックがあり、まだ日本語に対応していません。ただ、ビデオも英語字幕をつけられるので、リスニングできる必要はなく、高校卒業レベルのリーディングができれば進められます。図やイラストが豊富で、講師も表情豊なので、英語の「書籍」よりはずっとわかりやすいので、最近英語に触れてないなーと思う方もこの機会に是非挑戦してみて下さい。

なお、Railsの教材は良いものでも英語にしかない、といったケースが多いです。なので、少しずつ英語のリーディングに慣れていきましょう。

Ruby on Rails 4 アプリケーションプログラミング

Railsチュートリアルでハマったけど、英語が苦手でCode Schoolをやるのはちょっと厳しいというかたには、この書籍がおすすめです。Railsの参考書は、ある程度のスキルレベルを前提に書かれているものが多いのですが、この本は比較的入門者の視点にたって書かれています。

Code Schoolをやった人はこちらはやる必要はないです。

Ruby on Rails ガイド

Railsガイドのイメージ

Ruby on Rails ガイド

手を動かしてアプリを作っていくRailsチュートリアルとは対照的に、Ruby on Rails ガイド(通称「Railsガイド」)は体系的にRailsの使い方が説明されています。様々な項目ごとにしっかり整理された辞書のようなドキュメントで、WEBから無料で見ることができます。

入門レベルのうちは、Railsチュートリアルで出てきたわからないことなどについて、辞書的に調べるために使いましょう。非常に高度な内容も含まれているため、この段階で全て通読するのは効率的ではないです。

ただ、入門レベルを卒業されて、自分のアプリを一つ作ってみた後あたりに、一度このドキュメントを通読することをお勧めします。全て完全に理解できなくても、悩んだ時に「あー、この問題はRailsガイドのあの章に出てたな。」と頭の中にインデックスができるだけでも、問題解決のスピードが違ってきます。

入門レベル卒業の基準

以上の教材を使い、最終的にRailsチュートリアルを迷いなくすすめられる状態になれば入門レベルは完了です。逆に言えば、その状態になるなら、全ての教材をやる必要はなく、必要に応じてスキップしてOKです。 なので、基準となるRailsチュートリアルを最初にハマりながらもやってみることが効率的な学習の進め方になります。

中級者におすすめの教材

Railsチュートリアルを迷いなく進められる状態になった方に、私がつい最近取り組んだ教材で、Railsへの理解や開発効率の向上に役立った教材を紹介します。

RailsによるアジャイルWebアプリケーション開発 第4版

Sam Ruby (著), Dave Thomas (著), David Heinemeier Hansson (著), 前田 修吾 (翻訳) オーム社 第4版 (2011/12/1)

こちらはRailsチュートリアルに立ち位置としては近く、実際に手を動かして作っていくというスタイルの本です。ただ、顧客とのやりとりなども含まれていたり、よりAgileというスタイルにこだわって開発していく本になっています。また、Railsの創始者のDHHがところどころでコメントを書いており、DHHの開発思想により近い内容になっています。
Railsチュートリアルをやっていれば、こちらは難しく感じないはずです。レベル的には入門用にしてもよいくらいですが、Railsチュートリアルと多少立ち位置が近かったので、ここで紹介しました。

少し古い本なので、Railsのバージョンが3系となっています。3系で動かすことはできるので、考え方自体は学ぶことは十分できます。

英語版でよければ、Rails4系に対応しているものがもう出ています。英語に抵抗がないかたはこちらがおすすめです。

Sam Ruby (著), Dave Thomas (著), David Heinemeier Hansson (著) Pragmatic Bookshelf; 4th Revised版 (2013/10/11)

パーフェクト Ruby on Rails

すがわら まさのり (著), 前島 真一 (著), 近藤 宇智朗 (著), 橋立 友宏 (著) 技術評論社 (2014/6/6)

Railsで自分のアプリ作っていると、Rails自体の使い方はそこまでわからないことはないが、どういう設計で作ればいいのかと悩むことがでてきます。よく言われるのは、ファットコントローラーやファットモデルなど、一部分のコードが肥大化してしまって、管理しずらくなったり再利用性がなくなってしまったりします。

そのような設計面の悩みがでてきたタイミングでおすすめなのがこの本です。特に9章は色々な設計パターンが紹介されていて、管理しやすい設計をするのに非常に参考になります。

また、開発を楽にする最新のツール群も紹介されているので、より開発を効率化したい人におすすめです。

Everyday Rails - RSpecによるRailsテスト入門

Everyday Railsのイメージ

Everyday Rails - RSpecによるRailsテスト入門

Railsでよく使われるテストのフレームワークとして、RSpecとMinitestがあります。個人的にRSpecの書き方が好きなので、RSpecの本をご紹介します。

少し前までのRSpecのバイブルは「The RSpec Book」だったと思いますが、こちらはCucumberというちょっと個人的にはやりすぎだと思う領域にまで踏み込んでいるので、Everyday Railsのほうがおすすめです。

David Chelimsky (著), Dave Astels (著), Zach Dennis (著), 角谷 信太郎 (監修), 豊田 祐司 (監修), & 1 その他 翔泳社 (2012/2/22)

RSpecを学習するなら

RSpecを学習するなら、先ほど紹介したCode SchoolのRSpecのレクチャーも是非やってみてください。

また、RailsチュートリアルはMinitestを採用していますが、以前はRSpecを採用していました。おそらく、DHHがMinitestを使っていることや、よりシンプルなテストフレームワークへの需要が高くなっているので、Minitestに変わったのだと思います。ですが、個人的な肌感覚として、Rails界隈ではRSpecの勢力の方が全然強いので、RSpecをおすすめします。とはいえ、Railsチュートリアルで一度Minitestを触ってみることはとてもいい勉強になるので、やってみてください。

RailsチュートリアルをRSpecでやってみたいというかたは、古いバージョンのRailsチュートリアルを見ることもできるので、それでやってみるといいと思います。

Ruby on Rails チュートリアル version 4 第2版

まとめ

いかがでしたでしょうか。こんなにも多くの教材があるのか、とびっくりされた方もいるかもしれません。でも、基本はRailsチュートリアルがサクサク進められさえすれば、他の本は面白いように理解できてくると思います。なので、まずは上で紹介した「入門レベル」の卒業を目指してみてください。

羊毛や小麦