Ruby on Railsを比較的最近始めた私がやる価値のあると感じた教材を紹介していきます。また、それらの教材の最短の進め方についても触れられたらと思います。
Railsができて10年以上経つため、ベテランの方も多いです。ただ、そういった方は入門者の気持ちを忘れている可能性があるし、当時の教材を紹介されても今は古くなってしまっているでしょう。
ここ1、2年でRailsに入門した私は、今教材を紹介するのにちょうどいい時期にいるのではないかと思い、この記事を書くことにしました。
なお、この記事は基礎的なHTMLとCSSを理解できる方以上を対象にしています。
おすすめの入門教材
Ruby on Rails チュートリアル
Ruby on Rails チュートリアル(通称「Railsチュートリアル」)はRails入門者のためのバイブルと言えるくらいの存在になっています。ブラウザで見る分には無料です。どのRails勉強会に行っても、まずこれをやりましょう、と言われるのではないでしょうか。Twitterのようなマイクロブログをハンズオン形式で(実際にコードを書いて)作っていくというチュートリアルになっています。実際の開発に必要な、開発環境、バージョン管理、テストなどの作業も含まれています。なので、単なるRailsの使い方ではなく、実際に開発で使える作業フローの練習にもなります。
プログラミングの経験(Rubyじゃなくても)がある方は、いきなりこれを始めるのがよいと思います。 (プログラミング経験自体がない方は次の教材を見てください。)
とはいえ、いきなり開発フローを実践していくため、途中でハマる人がほとんどだと思います。 ハマった時点で、次以降の教材を参考にしてみてください。
※「ハマる」:難しくて独力で進められなくなる状態
この記事では、この教材を迷いなくすすめられる状態が、入門レベルを卒業した状態だとします。
たのしいRuby 第4版
プログラミング未経験者の方、Railsチュートリアルで言語的な難しさからハマった方は、一度このRubyというプログラミング言語自体の入門書をやることをおすすめします。オンラインや書籍のRuby教材をいくつか試したましたが、これが一番力がつきます。
なお、章末についている練習問題もしっかりやりましょう。わからなくても解答をすぐに見ずに、未完成でもいいので自分なりのコードを書いてみてください。
Code SchoolのRailsコース
Railsチュートリアルをやっていて、Rubyの言語はわかるが、Railsの使い方についてわかっていないのでハマってしまう、という状態になった場合は、このオンライン教材がおすすめです。
最初にビデオでレクチャーがあり、その後ゲームによる問題、のセットが何セットかあります。ゲームは、ゾンビ等の敵が出てきて問題を出してきます。ブラウザ上のエディターで回答することにより、敵を倒していくという、とても楽しい教材になっています。自分も時間を忘れてこの教材は取り組めました。
この教材は、1月29ドルと有料ですが、無料で見れるレクチャーもあるので、一度見てみることをおすすめします。課金する場合は1ヶ月でRailsのレクチャーを全て終わらせれば29ドルですみます。(自分はそうしました。)
なお、Ruby自体のレクチャーもありますが、とりあえずやるのはRailsだけで大丈夫です。
ひとつネックがあり、まだ日本語に対応していません。ただ、ビデオも英語字幕があるので、リスニングできる必要はなく、高校卒業レベルのリーディングができれば進められます。図やイラストが豊富で、講師も表情豊なので、英語の「書籍」よりはずっとわかりやすいので、最近英語に触れてないなーと思う方もこの機会に是非挑戦してみて下さい。
なお、Railsの教材は良いものでも英語にしかない、といったケースが多いです。なので、この機に少しずつ英語のリーディングに慣れていきましょう。
Ruby on Rails 4 アプリケーションプログラミング
Railsチュートリアルでハマったけど、英語が苦手でCode Schoolをやるのはちょっと厳しいというかたには、この書籍がおすすめです。Railsの参考書は、ある程度のスキルレベルを前提に書かれているものが多いのですが、この本は比較的入門者の視点にたって書かれています。
Code Schoolをやった人はこちらはやる必要はないです。
入門レベル卒業の基準
以上の教材を使い、最終的にRailsチュートリアルを迷いなくすすめられる状態になれば入門レベルは完了です。逆に言えば、その状態になるなら、全ての教材をやる必要はなく、必要に応じてスキップしてOKです。 なので、基準となるRailsチュートリアルを最初にハマりながらもやってみることが効率的な学習の進め方になります。
中級者におすすめの教材
Railsチュートリアルを迷いなく進められる状態になった方に、私がつい最近取り組んだ教材で、Railsへの理解や開発効率の向上に役立った教材を紹介します。
RailsによるアジャイルWebアプリケーション開発 第4版
こちらはRailsチュートリアルに立ち位置としては近く、実際に手を動かして作っていくというスタイルの本です。ただ、クライアントのやりとりなども含まれていたり、よりAgileというスタイルにこだわって開発していく本になっています。また、Railsの創始者のDHHがところどころでコメントを書いており、DHHの開発思想により近い内容になっています。
Railsチュートリアルをやっていれば、こちらは難しく感じないはずです。レベル的には入門用にしてもよいくらいですが、Railsチュートリアルと多少立ち位置が近かったので、こちらで紹介しました。
こちらは少し古い本なので、Railsのバージョンが3系となっています。3系で動かすことはできるので、考え方自体は学ぶことは十分できます。
英語版でよければ、Rails4系に対応しているものがもう出ています。英語に抵抗がないかたはこちらがおすすめです。
パーフェクト Ruby on Rails
Railsで自分のアプリ作っていると、Rails自体の使い方はそこまでわからないことはないが、どういう設計で作ればいいのかと悩むことがでてきます。よく言われるのは、ファットモデルやファットコントローラーなど、一部分のコードが肥大化してしまって、管理しずらくなったり再利用性がなくなってしまったりします。
そのような設計面の悩みがでてきたタイミングでおすすめなのがこの本です。特に9章は色々な設計パターンが紹介されていて、管理しやすい設計をするのに非常に参考になります。
また、開発を楽にする最新のツール群も紹介されているので、より開発を効率化したい人におすすめです。
Everyday Rails - RSpecによるRailsテスト入門
Everyday Rails - RSpecによるRailsテスト入門
Railsでよく使われるテストのフレームワークとして、RSpecとMinitestがあります。個人的にRSpecの書き方が好きなので、RSpecの本をご紹介します。
少し前までのRSpecのバイブルは「The RSpec Book」だったと思いますが、こちらはCucumberというちょっと個人的にはやりすぎだと思う領域にまで踏み込んでいるので、Everyday Railsのほうがおすすめです。
ちなみに、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チュートリアルがサクサク進められさえすれば、他の本は面白いように理解できてくると思います。なので、まずは上で紹介した「入門レベル」の卒業を目指してみてください。