「Ruby on Railsを勉強して、多くの人に使ってもらえるようなWebアプリを作りたい!」
「Ruby on Railsを学習してWeb系エンジニアになって、時間にも場所にも縛られない働き方をしたい!」
そんな志から、Webエンジニアを目指すと決めたはいいものの、何から学べばいいのか見当もつかないという方も多いかと思われます。
弊社株式会社スタートアップテクノロジーは、Ruby on Railsの受託開発とRuby on RailsのプログラミングスクールのRUNTEQをしております。これまでRails開発と教育の両方を試行錯誤してきました。
本記事では、「ゼロからRuby on Railsを学習してWebエンジニア転職を成功させるまで」の流れを解説します。
そこでこの記事では、以下のような疑問を解決していきます。
- Ruby on Railsの勉強をしたいが何から始めるべきかわからない
- 効果的な学習方法を知りたい
- そもそもRuby on RailsとRubyの違いがわからない
Ruby on Railsの基礎知識
そもそもRuby on Railsとは何か
Ruby on Rails(ルビー オン レイルズ)とは、プログラミング言語である「Ruby」を使った開発を行なうためのフレームワークで、Rubyエンジニアの間では「Rails」と呼ばれることが多いです。
Webアプリケーションを開発するために必要な機能やフォーマットが用意されているものがフレームワークです。
アプリをゼロから作り上げるのは非常に大変ですが、フレームワークにはあらかじめアプリ開発に必要な土台が用意されているため、フレームワークを利用することで効率的な開発を行なうことができます。
2004年にデンマークで生まれたRuby on Railsは、簡単なコードでWebアプリケーションを開発できる設計となっているため、初心者でも習得しやすいことが特徴です。
RailsとRubyとの違い
「Ruby on Rails」と「Ruby」を混同してしまう初心者の方は多いのですが、この二つはまったく違うものです。
Railsはフレームワークであり、Rubyはプログラミング言語です。
RailsはRubyでのアプリケーション開発をしやすくするための補助のようなものです。
なぜRuby on Railsを学ぶべきなのか
Rubyのフレームワークは、Railsだけではありません。
他にも「Sinatra」や「Ramaze」といったものも存在します。
では、なぜRailsを学ぶべきなのか。
その理由は、「Rubyのフレームワークの中で最も簡単にWebアプリの開発ができるため、ほとんどの開発現場でRailsが使われているから」です。
Railsは、「Rubyエンジニアを増やした」とまで言われるほど優秀なフレームワークであり、Rubyでの開発においてはほぼRails一択となります。
Ruby on Railsでできること
Ruby on Railsは、Webアプリケーションを作ることに適しています。
- SNS
- ブログ
- ECサイト
- ソーシャルゲーム
こういったアプリの構築は、Ruby on Railsで行われているものが多いです。
例として、知らない人はいないであろうSNSサービス「Twitter」もRuby on Railsで設計されましたし、あの「クックパッド」や「Hulu」などもそうです。
開発効率に優れたフレームワークであるRailsは 開発スピードが重視されるサービスのスタートアップで好まれて用いられます。
Ruby on Rails学習チュートリアル ~初心者が実践すべき勉強法~
以下に、Ruby on Railsの勉強を効率的に進めるためのロードマップを具体的に示していきます。
プログラミング言語であるRubyの基礎を学ぶ
前述の通り、Railsは単なるフレームワークです。
フレームワークだけでは何もできないので、それを動かすためのプログラミング言語を学ぶ必要があります。
従って、まずはRubyの勉強をしなければなりません。
では、どのようにしてRubyを学べばいいのか?
おすすめなのは「Progate」というオンライン学習サービスを利用することです。
Progateとは、元東大生たちが作り上げたプログラミング初心者向けのサービスで、100か国以上の国で提供されており、ユーザー数は200万人を超えています。
基本的に有料となりますが、プログラミング初心者が独学で勉強する場合は、ProgateのRubyコースを選択して学ぶことが、Railsをマスターするための第一歩となります。
とにかく初心者目線で教材が作成されているため、取っ付きやすさは他の学習サイトよりも抜きん出ています。
独学の難点は「難しくて挫折してしまうこと」ですが、Progateに関してはその心配はあまり要らないでしょう。
ただProgateは、「プログラミングの大枠を掴む」という点では優れているのですが、専門的な知識やスキルが身に付くというところまでは辿り着かないので、あくまで学習の第一段階と捉えておくべきです。
写経で反復学習
Progateなどの学習サイトを利用して学ぶ際は、ただ説明を読んだりコードを見ていたりするだけでなく、しっかりと手を動かすことが重要です。
出てきたサンプルコードをひたすら書き写す、いわゆる「写経」というやり方です。
プログラミングにおける写経の有効性や具体的な実践方法については、以下の記事にて詳しく紹介しています。
Ruby on Railsチュートリアルで理解を深める
基礎学習が終わったら、いよいよ「Ruby on Railsチュートリアル」に挑戦しましょう。
Ruby on Railsチュートリアルは、大学や社員研修でも採用されている、Webサービス開発が学べる世界的に有名なオンライン学習サービスです。
Railsの勉強をする上で避けて通れないサイトと言えるでしょう。
チュートリアルの内容としては、TwitterのようなWebアプリ開発を通して、基礎知識から応用知識までを体系的に学んでいく、という流れになります。
例えば、以下のような機能の実装を学んでいきます。
■会員登録
■ログイン
■メール送信
■パスワード再発行
■ツイート投稿
■フォローやフォロー解除
ただ勉強するだけでなく、実際にWebアプリを作成していくので、最後までチュートリアルをやり切りアプリを完成させれば、ポートフォリオとしても活用できます。
難点としては、チュートリアルの量が膨大であったり、用語やコードについての説明があまり親切ではなく、自己解決を前提としているため、途中で挫折する人が多いということです。
とはいえ、Railsを学ぶ上での最高の教材であることは確かなので、「必ず最後まで終わらせる」という強い覚悟を持って根気よく継続してください。
Railsチュートリアルで挫折しないための学習方法については以下の記事に書きましたので、ぜひこちらもお読みください。
自分でWebアプリを作る
Railsチュートリアルでアプリ公開まで辿り着けたら、今度はただチュートリアルに沿って作成するのではなく、自分で設計したアプリを作ってみましょう。
これまで学んできた知識やスキルを総動員し、自分の作りたいサービスやアプリを思い描き、設計し、実現に向けてプログラミングしていく形です。
せっかく作成するのですから、ポートフォリオとして活かせるレベルのものを作るという気概で臨むべきです。
なお、作りたいサービスが思い浮かばないという場合は弊社で「無料キャリア相談会」というものを行なっております。
就活で高評価されるWebアプリ(ポートフォリオ)についてや、学習計画についても1対1で相談することができます。
ぜひお気軽に参加してみてください。
私たちはプログラミングスクールRUNTEQを運営しており、そこでの知見を使って最も効率の良い勉強法を解説しました。ぜひ以下の記事で勉強してみてください。
Ruby on Railsの勉強におすすめな書籍7選
- 自分の勉強法に不安を覚えた時
- なかなか問題が解決しない時
- 学習サイト以外からも知識を吸収したい時
そういった場合におすすめの書籍を7つに絞って紹介していきます。
ゼロからわかる Ruby 超入門 はじめてのIT技術講座
■初めてRubyを勉強する人
図解まるわかり プログラミングのしくみ
■プログラミングを始めたばかりの人
■ステップアップしてスキルを磨きたい人
■プログラミングの基礎知識を知りたい人
プロを目指す人のためのRuby入門
■Rubyのプログラミングを学びたい人
■Rubyのテスト駆動開発やデバッグ技法を学びたい人
■Railsを学ぶにあたり、まずはRubyを学びたい人
現場で使える Ruby on Rails 5速習実践ガイド
■Ruby以外での開発経験はあるがRubyやRailsについては初めて学ぶ人
■オブジェクト指向について理解したい人
イラスト図解式 この一冊で全部わかるWeb技術の基本
■これからIT系の仕事に就くという人
■これから社内の情報システムを担当する人
■Webシステムに関連する技術と実務を、幅広く、バランスよく学びたい人
パーフェクト Ruby on Rails
■Railsチュートリアルを終え、さらにスキルを高めたい人
超勉強法
■学習における考え方や割り切り方を知りたい人
■わからないことがあると勉強が進まなくなってしまう人
独学でRailsを学ぶと挫折しやすい理由
「独学のみでエンジニアになるための勉強を続けるのは難しい」という言葉を耳にすることがよくあると思いますが、Railsの勉強についても同様です。
それは、主に以下のような理由によって挫折してしまうからです。
開発環境の構築
どの言語にも言えることですが、RubyとRuby on Railsの開発環境構築も、初心者にとっては決して簡単なものではありません。
ここで躓いてしまい、勉強を諦めてしまう人も多いです。
専門用語の多さ
特にRailsチュートリアルで学習している段階で起こる問題です。
Progateの場合、初心者を対象としているので専門用語について逐一解説をしてくれていますが、Railsチュートリアルの場合はそこまで親切ではありません。
いちいち専門用語についての説明等がないため、わからない人はどんどん置いてけぼりにされます。
コードに関する説明も簡略的で、初心者が読み解くにはかなり厳しい場面に幾度となく出くわします。
都度都度ググれば問題ないのですが、ググる頻度が多すぎて勉強がなかなか先に進まず、心が折れてしまう方が多いようです。
Ruby on Railsの「よしな」に動く
Ruby on Railsは非常に便利なフレームワークです。さまざまな機能開発をRuby on Rails側でよしなに動いて勝手に作ってくれます。省略が多いフレームワークです。
その一方で初学者にとっては、Ruby on Railsは裏側で何が起こっているか分かりづらいです。
本来プログラミング言語だといちいち書かなければいけない部分をRailsが勝手に省略している分、初学者にとっては何が起こっているかわからないのです。
Ruby on Railsの挙動でわからないことがあった時に何が起こっているのかを質問できる環境があったほうが学習が進めやすいです。;
勉強量が膨大
よく「Rubyは初心者向きの言語」と言われ、プログラミング言語の中では比較的マスターしやすいとされています。
しかし、初心者向きとはいえ、それはあくまで「他の言語と比べた場合」であって、何も知らない状態からエンジニアとして通用するレベルになるには1000時間ほどの勉強時間が必要です。
長期間独学のみで通すのには、かなりの精神力と情熱が必要となります。
テスト時やデプロイ時のエラー多発
これも主にRailsチュートリアルで勉強している際に起こることです。
学習を進めていく中で頻繁にテストを要求されるのですが、必ずといっていいほどエラーの多発に苦しむことになります。
それらのエラーを一人で乗り越え、苦労してWebアプリの作成を進め、ようやくデプロイまで漕ぎつけたとしても、今度は今までとは毛色の違ったエラー(主に環境面でのエラー)に苦しめられることになります。
デプロイとは、作成したアプリを本番環境で動かすことですが、これがまた一苦労なのです。
「ようやく動かせる!」と思ったところからの難解なエラー多発は、心理的にかなり辛いものがあります。
独学でのRuby on Railsの勉強に限界を感じたら
以上のような理由から、途中で挫折せずに独学のみで一人前のエンジニアになれるという人はごく少数となっています。
Ruby on Railsの効率的な勉強法の流れは、
①Progateで基礎知識を習得
↓
②コードの写経で基礎を固める
↓
③Ruby onRailsチュートリアルで専門的な知識を習得
↓
④自分でWebアプリを設計して作成
Web系の開発言語の習得は長い道のりですが、コツコツ学習を進めていきましょう。
弊社ではRuby on Railsを扱ったWeb系エンジニア転職に特化したプログラミングスクールRUNTEQを運営してます。
その中で転職のプロによる1対1の無料キャリア相談会を実施しております。スクールの無理な勧誘はなく、純粋に勉強の相談でお気軽にご参加ください!
目的に合わせたRuby on Railsの学習ができますので、迷いが消えることでしょう!