小学生でも数時間でアプリを作れたRuby on railsの入門書3選

18/10/08 17:49:20     19/05/11 23:39:12

子供でも出来るRuby

Rubyは日本人のまつもとゆきひろ氏が作ったプログラミング言語です。CやJavaといった言語と違ってコンパイルする必要が無い“スクリプト言語”に属します。

Rubyがプログラミング言語であるのに対して、Ruby on RailsはWebアプリケーションフレームワークです。Wantedlyの創業者・仲暁子さんがRuby on railsでWantedlyのウェブサイトを作ったのは有名な話です。

ではRuby on Railsの長所はどこでしょうか?まとめると以下のようになります。

  • 開発スピード(コードが短い)
  • 生産性(状況や要望に応じて随時機能追加を行える)
  • 初心者からでも入りやすい

小学生でもわかるRuby on Rails入門」というオープンブックが存在するRuby on Railsですが、本サイトを覗いてみると冒頭には「実際に小学生に教えたら5時間くらいで自分のRailsアプリを作って公開するところまでいったので、こういうタイトルつけました。」との記述があります。

小学生がRuby on Railsアプリを公開した実績があるのですね。こんなに習得しやすい言語なら、是非トライしたい!ということで、ここからは厳選したRubyの入門書3選をご紹介していきます。

Ruby on railsの入門書3選

①たった1日で基本が身に付く! Ruby on Rails 超入門

たった1日で基本が身に付く!

Amazonでの紹介文によれば、本書は「いちばんやさしいRuby on Railsの入門書」 とのことです。本書は、Ruby on Railsでの開発の第一歩である開発環境のインストールから丁寧に教え、Webアプリを制作するところまで導いてくれます。

開発環境を整える作業は意外と難関です。どの開発言語も、フレームワークインストール後に「Hello World!」と表示させる作業をファーストステップとしていますが、ここに意外とつまずきがあったり時間がかかったりします。本書は、開発環境のインストール方法のほかにも、Ruby on Railsの基礎知識、データベースの基礎知識を優しく教えてくれます。

この入門書では最終的にWebアプリを1つ作らせてくれるのですが、それはどんなアプリかというと日記アプリのようです。日記アプリの開発を学ぶのですが、そこには様々な技術が組み合わせてあるため、後でそのコードを応用して違うアプリを作ることもできます。

Amazonのレビューを紹介すると、本書は「初学者がどこで詰まることが多いのかを認識した上で、書かれているように感じ」る入門書だそうです。

続けて引用すると、「現役エンジニアの方が著者の場合、初学者に寄り添った記述が難しいことが多いと思っています。(中略)ネット上ではなかなかよい解説がされていない、そこはわかって当然だろう?解釈できて当然だろう?と思われてしまっている「処理の流れ」もアプリを開発する過程に繰り返し記載されており、初学者に寄り添っていると思います。」とのこと。このように、初心者目線の書であることが分かります。

Amazonのレビューの中には「終盤に記載されているActiveRecord、ActiveSupport、scopeの話が気に入りました。現場でよく使います。」といったコメントもありました。本書は一番やさしい入門書でありながらも、現役Railsエンジニアが現場で良く使うコードも網羅しているということになります。また他のレビューでは、Railsのチュートリアルでも「初心者からすると、「なぜそのように動くのか」が分かりにくいところがある」そうですが、本書の解説は極めて細かく丁寧だそうです。読み込んでいる順番なども細かく解説されているそうです。

また、「データベースを使う点、簡単なSQL分も学ぶことができる点が、初心者には非常に助かる」と、本書の守備範囲の広さを紹介しながらも、本当のRails初心者には少々難易度が高い、むしろ本当の初心者には、同じ著者の「3ステップでしっかり学ぶ Ruby入門」をまずお勧めしているレビューもありました。

②Head First Rails ―頭とからだで覚えるRailsの基本

Head First Rails

本書はイラストや写真が多く初心者が理解しやすそうです。初心者に最適な入門書であり、どのようにしてWebアプリケーションプログラミングを行うのかを丁寧に解説しています。

イラストや写真のほかにも、ショートストーリーやパズルなどが使用されて、読者が楽しみながらRailsを学習できる工夫が随所に凝らしてあります。

Amazonの紹介文を見ると、こちらの書も「Rails本の中で一番わかりやすい」と書いてあります。また、体系的にRailsの知識をつけていける構成になっています。

ネットで何でも検索できる今日、プログラミング学習においてもそれは然りです。開発に必要なコードは、ネットで探せばGitHubをはじめ無償で提供してくれるソースがたくさんあります。しかしそんな便利さの中にもデメリットはあり、情報は容易に得られるが分散しており、自分で体系的に構築していくのが難しいのが実情です。

本書は、そんな悩みを持つRails学習者に最適で、体系的に理解できるようにサポートしてくれる本です。

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

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

本書は、Ruby on Railsの定番解説書と評判の学習書です。そのなかでも最新バージョン5に対応しているものになります。

Amazonのレビューを見ると、本書はこれまで紹介してきた入門書のようにハンズオン(何かを作りながらプログラミング学習をする)といった形を取っていないことが分かります。むしろ辞書のような役割を果たす内容です。

詳細に書かれたレビューによると、本書の内容は以下のようになります。

  • MVCに則ったWebアプリフレームワークの最新版「Ruby on Rails 5」を対象としている
  • Scaffolding機能
  • ビュー/モデル/コントローラ開発
  • ルーティング
  • テスト
  • クライアントサイド開発

このようにRailsの主要機能を徹底的に解説しています。一見するに、初心者向きというよりは現場にエンジニアとして出て行こうという学習終了者向けといった感じです。本書もフレームワークについて先ず解説しており、Railsの特徴についても分かりやすく説明があります。

レビューによると、本書は辞書的に使用すると大変役に立つ本であるため、「Rubyについてもうある程度学習し、解した上で、次はRailsを学びたい方にお勧め」であるようです。

これは、①で紹介した学習手順と一緒です。「3ステップでしっかり学ぶ Ruby入門」でRuby を学んだうえで「たった1日で基本が身に付く! Ruby on Rails 超入門」でRuby on Railsを学ぶ方が 効果的だというレビューを紹介しました。このように開発言語を学んでからフレームワークを理解する、という手順をお勧めする方もいるので、自分にはどちらが合うか検討してみると良いでしょう。

本書を辞書として活用されたレビュワーのコメントを紹介します。とても専門的なため、やはり入門書を終えた学習者にお勧めするのが相応しいかもしれません。

辞書は、この一冊があれば大分助かりました。(中略)例えばブログサービスを開始するといった目標を一つ立てた上で作りながら詳細を調べ、改善していくと言った学習形式を取りましたが、そういった意味では非常に満足しました。

実際にプロジェクトを立てアプリケーションを開発していきながら、基礎的な構文やキーワード、概念を確認できます。(中略)Railsを構成する基本要素(Model、View、Controllerなど)について学べます。ルーティング、テスト、キャッシュ、Ajax対応、プラグインの導入など、実践的な項目も後半で学ぶことができました。

ここまでの内容が網羅され、充実の解説書であると分かります。

追加で2冊ご紹介!

プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで

「プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで」は株式会社ソニックガーデンでRubyエンジニアをやられている伊藤淳一さんの書籍です。

伊藤淳一さんは兵庫県西脇市から完全リモートで仕事をされており、こちらの書籍もおそらく自宅で執筆されたのだと思います。普段からIT系の記事をいろいろなところに投稿されており、そちらもわかりやすく解説が丁寧だと評判です。

実際丁寧だと感じました。そのRuby業界では解説が丁寧だと評判の伊藤淳一さんが初心者向けに出版されたのがこちらの書籍です。ただし、「変数」「配列」といったプログラミング自体の超基本概念の説明は最小限にしてあるそうです。

Rubyに特化して基礎から応用まで解説しているので、プログラミングの基礎概念自体がわからない、まずはそこから勉強したいという方は、先にプログラミングの基礎を別の書籍で学んでからこちらの書籍に移行した方が良いかと思います。

プログラミングの初歩的なことがわかっているレベルであれば、こちらの書籍を理解できるはずです。ちなみにフレームワークはRuby on Railsなので、フレームワークのこともきちんと学べます。

ゼロからわかる Ruby 超入門

「ゼロからわかる Ruby 超入門」はRubyの基礎だけでなく、プログラミングの基礎がわからないプログラミング自体を始めて勉強する方でも理解できるように解説されている書籍です。

フレームワークはもちろんRuby on Railsです。Rubyの場合フレームワークはほぼRuby on Railsが独占しているので、たとえばタイトルにRuby on Railsなどが入っていないRubyの書籍であっても、そのほとんどはRuby on Railsを前提に執筆されていると考えて間違いないでしょう。

もともとこちらの書籍が執筆された経緯としては、一橋大学社会学部で初めてプログラミングを学ぶ学生に向けて著者が執筆したようです。一橋大学なので勉強が得意な学生向けに書かれているような感じもしますが、文系でおそらくほとんどの人がプログラミングって何?といった状況かと思います。

勉強が得意でないと理解できないような書籍にはなっていないので、その点はご安心ください。文字による解説がベースですが、ところどころイラストも含まれており、バラスが良いようにも見えます。

文字が多すぎても疲れる、イラストが多すぎても内容が薄すぎる、といった問題点があるかと思いますが、こちらの書籍はその点ちょうど良いでしょう。

Rubyで作られているアプリ4選

続いて、Rubyを学んだらどんなアプリが作れるのか?ということで、Rubyで作られているアプリをピックアップして説明してみます。

RubyはWebシステム開発によく使われる言語のなかでも人気がありますが、実際どのようなアプリがRubyで作られているのかは知らない、という方もいるかと思います。

世に出回っている有名アプリがRubyで作られていると知ることで、Rubyに対して親近感が湧き、より勉強意欲が高まるのではないでしょうか。

GitHub

https://github.com/
GitHubの使用経験があるエンジニアは多いはずで、仮に使用経験がなくてもGitHubが何かは知っているかと思います。しかし、GitHubのメイン言語がRubyだということは意外と知られていないかもしれません。

GitHubは2008年に誕生した比較的新しいサービスですが、世界中のプロジェクトのソースコード管理に使用されています。適宜アプリの改良も行われていますが、それもRubyの書き換えで改修されています。

今後もGitHubはRubyの書き換えによってより良いアプリに進化していくでしょう。

Basecamp

https://basecamp.com/
Basecampはプロジェクトやタスクを管理するツールですが、Rubyで作られています。世界的にシェアが伸びており日本のプロジェクトでも使用されていますが、GitHubに比べると知名度は低いかもしれません。

ユーザー数は右肩上がりに伸びているため、今後もRubyで改修されることは多いでしょう。

Kickstarter

https://www.kickstarter.com/
Kickstarterは資金調達を行うためのアプリで、特にクラウドファンディング目的で利用されることの多いサービスです。クラウドファンディングは知名度も利用者数も年々増えており、その結果Kickstarterの利用者数も増加しています。

ユーザー数が多いサービスはその分改修、改良にも力を入れられるため、KickstarterもRubyによって進化し続けています。

Couchsurfing

https://www.couchsurfing.com/
Couchsurfingは世界最大の旅行コミュニティアプリです。日本を含め世界中の国々で国際化が進み、旅行者はインターネット上で情報交換を行っています。Couchsurfingも伸び盛りのアプリで、そのほとんどはRubyで実装されています。

以上例として4つのRubyで作られたアプリを紹介しましたが、いずれも現在伸びているサービスです。特にGitHubは世界的に人気のアプリでプロジェクトで一般的なアプリとなっています。

伸びているアプリがRubyで作られているので、今後もRubyには期待できます。新規開発案件や改良案件が豊富にあるので、Rubyの学習価値は高いと言えるでしょう。もちろん個人開発するにも情報が多く実装効率が高いです。

まとめ

Rubyは国産の言語であるからか、入門書籍のほかにも日本語のチュートリアルやネットブックなど、学習環境が充実していると感じました。日本人のエンジニアならば学習しておいて絶対損はない言語だと言えるでしょう。

 

Ruby関連記事

人気記事

編集部おすすめ記事

この記事を読んだ人はこんな記事を読んでいます

案件探しやフリーランスになるための相談する