プログラミング技術の発展により、今すでに様々なプログラミング言語が存在しています。
Web開発を行えるプログラミング言語もたくさんあります。
Java,C#+ASP.net,Node.js,PHP,Kotlin,Scala、そしてRuby on Rails。
いろいろ選択肢はあるのですが、これからWebエンジニアを目指すならばぜひRuby on Railsを習得するという選択肢を検討していただきたいと思います。
Ruby on Railsのどういった点が良いのか、この記事でじっくり見ていきましょう。
Contents
Rubyは初心者にも学びやすい言語
記述量が少なく書きやすい
RubyはJavaやCと比べるとコードの行数が短く、コンパイル(ソースコードを機械語に変換する処理)も不要なインタプリタ言語です。
文法も非常に「英語に似た」構造になっていて、慣れてくれば英文を読み下すようにRubyのソースコードが読めるようになります。
環境構築の手間が少ないのも特長です。プログラミングの学習環境としては、多くの場合Macが推奨されますが、Mac OSにはRubyが最初からインストールされており、いきなりソースコードを書くだけでプログラムを動かすことができます。
日本語のドキュメントが充実している
Rubyは、まつもとゆきひろ(通称Matz)氏によって開発されたプログラミング言語です。
日本人が開発した言語なので、Rubyユーザーとしても日本人が相当数おり、Ruby公式ドキュメントやRuby on Railsガイドなど日本語のドキュメントが充実していて、独学でも勉強を進めやすい環境ができています。
もし知り合いにRubyを書けるプログラマがいるのなら、その人に教えてもらうのも良いでしょう。
Ruby on Railsは日本人ではなく、デンマークのプログラマ、デイヴィッド・ハイネマイヤー・ハンソン(DHH)によって開発されました。
「Ruby on Railsは時代遅れ」と言われることもあるが…?
一部界隈では、「Ruby on Railsはもはや時代遅れ」「Rubyは死んだ」という方々もたまにいます。
これに関しては、Ruby技術者が集まるカンファレンス「RubyKaigi」でRubyの偉い人達が「Rubyは毎年死んだと言われてるよw」と発言し、会場の笑いを誘っていました。
実際時代遅れで使えないのかというとそういうことはありません。
毎年Rubyのバージョンは新しいものが発表されていますし、Rails自体のアップデートも頻繁になされています。(現行バージョンはRails 5ですが、Rails6に向けた開発がRubyの実力者たちによって進められています)
一時期の爆発的な勢いこそありませんが、「安定期に入った技術」といえる立ち位置になったのではないでしょうか。
スタートアップ、ベンチャーから大企業まで採用実績が多く市場価値が高い
小さく始める仮説検証から、大規模なシステムの構築も
Ruby on Railsは、スタートアップのような「小さなプロダクトをまず世に出してみて、ビジネス仮説を検証していく」フェーズから、「100万人が利用する大規模なWebサービスを作る」フェーズまで幅広く対応することができます。
対応できる現場が多いということは、キャリアの幅が広がる、自分の志向性に合わせて現場を選択しやすい、ということにつながります。
国内でRuby on Railsを使った大規模サービスの例としては、国内では料理レシピサイトのクックパッドやニュースアプリのGunosy、海外ではソースコードホスティングサービスのGithubや映画配信サービスのHuluなどが挙げられます。
また、クラウド技術の発展により、「Ruby on RailsのコードをデプロイするだけでWebサービスが作れる」環境になっています。
Ruby on Railsでの開発に慣れていれば、1日でゼロから簡単なWebサービスをリリースすることもできるので、将来起業したい方もRailsを勉強して損することはないと思います。創業を手伝ってくれるエンジニアを見つけられなくたって自分で書けばよいのですから。
変化の激しいWeb業界の中で安定して採用されている
IT業界、特にWeb業界は変化が激しく、1年前にメジャーだったフレームワークやライブラリが「時代遅れ」になってしまうことも多々ある世界です。
「自分がせっかく勉強した内容が、現場ではもう通用しなかった…」
「せっかくフレームワークをうまく動かせるようになってきたのに、仕事がなかった…」
という思いは誰しもしたくないですよね。
前述した熾烈な「フレームワーク戦争」が繰り広げられる環境の中、Ruby on Railsは2004年7月にリリースされ、2018年9月現在まで安定した人気を誇っています。
「今こんなに実績があるんだから、絶対にRuby on Railsは廃れない!」ということが言いたいわけではありません。
しかし、せっかく自分の時間を投資して勉強するのだから、仕事で使いやすいような技術を学びたいと思うのは自然な発想だと思います。Railsはそんなニーズに対して、間違いなくおすすめできる選択肢の一つであることは間違いありません。
Web開発の一通りを完結できる
Ruby on Railsは「これを覚えればWeb開発は一通りできる」ことを目指して作られた「フルスタックフレームワーク」です。
Web開発というのは実は幅広い技術の集合で構成されています。細かく分けるとキリがないのですが、大別すると
- データベースの作成、テーブルの作成、データの読み込み・書き込み
- ブラウザからHTTPリクエストを受け取ったときの処理、セッションやCookieの取り扱い
- データをHTMLに描画する処理
- HTMLで描画されたフォームやボタンに動作をつける処理
といったものがあります。
Ruby on Railsはこれらすべてをカバーしているフレームワークなので、Ruby on Railsを学ぶだけでWebサービスを作る一通りのことができるようになります。
Ruby on Railsを学びやすい環境が整ってきている
まず低コストで始めたければ、オンラインの学習教材
昨今のプログラミング学習系Webサービスの充実により、プログラミングを学ぶために払う初期コストが格段に少なくなってきました。
まず、Progateやドットインストールなどのオンライン上にある無料教材からプログラミングに触ってみましょう。
初心者向けのコンテンツが多く、これだけでプロになれるわけではありませんが、プログラミングを学び始める「つかみ」としては十分すぎる価値があります。
慣れてきたら、Railsチュートリアルにチャレンジしてみると良いでしょう。
ミニブログアプリケーションの作成を通してデータベースへの読み込み・書き込み、ユーザー認証(ログイン・ログアウト)、WebサーバーへのリリースなどWeb開発のエッセンスが押さえられています。
Railsチュートリアルに書いてあることが9割方理解できたら、おそらくプロのエンジニアとして十分に現場に飛び込んでいけるレベルだと思います。
いきなりできなくても良いですから、諦めずに取り組んでいきましょう。「継続は力」ですよ。
わからないところがあったら、Railsガイド や Ruby公式ドキュメントを振り返ってわかるまで復習しましょう。
体系的に学ぶなら、日本語の技術書を買って学ぼう
プログラミングを体系的に学びたいなら、技術書を買って学ぶという方法もあります。
Rubyを学ぶための技術書としては、「プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで」(「チェリー本」と呼ばれています。)がオススメです。Amazonで電子書籍としても販売されています。
Rubyの文法をサンプルコードで学び、例題でプログラミングの流れを体験できる解説書です。
ほかのプログラミング言語で開発経験のある人が、Rubyを学ぶ際に効率的に学べる内容を詰め込みました。
プログラミング未経験者向けの「変数とは」「配列とは」といったプログラミング基礎知識の説明は最小限にし、そのぶんRubyの特徴(他プログラミング言語との違い)、Rubyにおけるリファクタリングの要点、テスト駆動開発やデバッグのやり方など開発現場で必要になる知識を解説しています。
本書の内容を理解すれば、開発の現場で必要とされるRuby関連の知識を一通り習得できます。
そして、「今まで呪文のようにしか見えなかった不思議な構文」や「実はあまりよくわからないまま、見よう見まねで書いているコード」も自信をもって読み書きできるようになるはずです。
本書はRuby 2.4をベースに解説します。Ruby 2.2や2.3など、少し前のバージョンで動きが異なる場合は、適宜注釈を入れています。
Ruby on Railsに関しては、「Ruby on Rails 5アプリケーションプログラミング」などの書籍がおすすめです。少し分量が多いですが、何周かして内容を覚えてしまえば、現場でメインのエンジニアを張れるくらいの実力がつきます。こちらもKindle版が出ていますね。
本書は、MVCに則ったWebアプリケーションフレームワークの最新版「Ruby on Rails 5」を対象に、Scaffolding機能から、ビュー/モデル/コントローラ開発、ルーティング、テスト、クライアントサイド開発まで、Railsの主要機能を徹底解説しています。クライアントサイド開発で必要となるCoffeeScriptやSCSS、バージョン4以降の新機能であるActive Job等に対応しているので、最新技術を取り入れたWebアプリケーション開発にも柔軟に対応できます!
両書とも分量があり、紙で買うと取り回しがつらいのでKindle版での購入を推奨します。
技術書を使って勉強するときは、読んだだけで終わりにせず、必ず自分の手でソースコードを書いて動かしてみましょう。学習効率が何倍にも上がります。
プロにガッツリ教わりたいならプログラミングスクール
現場で働くエンジニアに短期集中型で教わって、確固たるスキルを身に着けたい!という方でしたら、プログラミングスクールに通うのがオススメです。
上記の方法に比べて受講費用がかかってしまうのが欠点ですが、最近だと就職支援付きのプログラミングスクールも増えていて、就職支援付きスクールではきちんとカリキュラム終了・就職成功すれば受講費用が返ってくるといった仕組みを導入しているところもあります。
以下にRuby on Railsが学べるプログラミングスクールリストを紹介します。
どれも初回無料でのカウンセリングを受け付けていますので、気になったところがあればとりあえずカウンセリングを申し込んでみればよいと思います。
ポテパンキャンプ
ポテパンキャンプはRuby on Railsの指導に特化したプログラミングスクールです。
Railsチュートリアルとこなしていることが前提のカリキュラムとなりますが、受講生の評判も高く、また卒業後就職成功で受講料が全額キャッシュバックされる特長があります。
無料カウンセリング申込みは↓↓から
Tech Boost
TECH BOOSTはエンジニアに特化したキャリアサービスを展開しているBranding Engineerが運営するプログラミングスクールです。
Ruby on Railsを用いてオリジナルのWebアプリを作れるカリキュラムがあります。
無料カウンセリング申込みは↓↓から
Tech Expert
TECH::EXPERTは、未経験からプロのエンジニアスキルを身につけることのできる短期集中プログラムです。
無料カウンセリング申込みは↓↓から
WebCampPro
WebCampProは就職保証つき、チーム開発を模擬的に行う形式で学んでいく形のプログラミングスクールです。
無料カウンセリング申込みは↓↓から
まとめ
- Rubyは初心者でも学びやすい環境は整っている
- Ruby on RailsをマスターするとWeb開発が一通りできるようになる
- オンライン教材、技術書、プログラミングスクール、自分の志向にあった勉強法を