支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


Rubyとは

世の中には200種類以上のプログラム言語がありますが、Rubyは非常に人気のある言語です。プログラム言語のシェア率を見ても上位に入っていることが多いです。その理由として、シンプルでコードの可読性が高いという点です。例えば「こんにちは」という文章を画面に表示させるプログラムを書くとき、Javaでコードを書くと「System.out.println("こんにちは");」に対して、Rubyで書くと「p "こんにちは"」となります。これだけでもRubyがいかにシンプルなコードなのかが分かるかと思います。また、Rubyは日本人のまつもとゆきひろさんという方により開発されたオブジェクト指向型プログラミング言語です。彼はRubyという言語は楽しさに焦点を当てた言語であると述べています。

また、RubyはC言語やJavaと違ってコンパイラというソースコードを機械語へ変換する作業が不要な為、手軽にプログラミングを行うことができます。オブジェクト指向型の言語なのでカプセル化、継承、多態性などを駆使してシンプルなコードを書くことができます。Rubyを語るうえで外せないのがRuby on RailsというWebアプリケーションフレームワークです。これを使うことでWebアプリケーションの開発は非常に効率的になります。Rubyは近年人気になっている言語で、食べログやクックパッドでも使われています。そのほかにも多くの現場で使われ始めていますが、東京での開発が多いようで地方での開発だといまだにPHPなどの言語の人気が根強いようです。Rubyについては様々な情報がありますが、今回はその中でもRuby on Railsについて詳しく深堀していきます。

Ruby on Railsとは

上でも述べた通りRuby on RailsはWebアプリケーションフレームワークです。フレームワークは枠組みという意味で、RailsはRubyで使えるフレームワークということです。Railsの基本理念は「Don't Repeat Yourself(DRY)」「Convention over Configuration(CoC)」というものです。日本語で表すと「同じことは繰り返さない」「設定より規約」という意味になります。

MVCモデルとは

Ruby on Railsの設計にはMVCモデルを採用しています。MVCとはModel(モデル)、View(ビュー)、Controller(コントローラー)の略称です。1つのクラスに様々な機能を羅列するとどこにどの機能のコードがあるのか分かりずらくなってしまう為、このように3つに分類するやり方が使われています。ViewはWebアプリケーションの見た目を担当しておりControllerは具体的な処理内容、Modelはそれらに使うクラスを担当しています。このように分類することでコードの再利用性も高めています。

Ruby on Railsでの開発が向いているサービス

Ruby on RailsはWebアプリケーションの開発に向いているということは述べましたが、それをより具体的に解説していきます。Ruby on Railsは開発効率が高い為、少人数の短期間開発に向いていると言われています。なので、スタートアップ企業などの開発に向いていますし、アジャイル開発とも相性の良い言語と言えるでしょう。そのほかにもWebAPI経由でのサービスの開発にも向いています。WebAPIとはGoogle Mapなどのことを言います。このようなAPIを使って新たなサービスを作るときにRuby on Railsは向いています。その理由はAPIモードというものがRuby on Railsには備わっていて、WebAPI開発をより効率的に行えるからです。そのほかにもRuby on Railsは大規模なデータ処理や複雑な計算や処理を行う基幹系システムの開発にも向いています。小規模にも大規模にも向いている言語なのです。データベースの連携に関してもモデルクラスによるアクセスやコネクションプールなどに標準的に対応しています。古い言語や仕組みで書かれたシステム(レガシーシステム)の更新の際に検討されることが多いようです。

Ruby on Railsでの開発が向いていないサービス

Ruby on Railsでの開発が向いているサービスについてこれまで解説してきましたが、逆に向いていないものについて解説していきます。まず、Ruby on Railsは機械学習や人工知能開発には向いていません。その理由はPyCallというライブラリを使っている人が少ない為、参照できる情報もコミュニティも圧倒的に少ないという点です。将来的に普及していく可能性も低いと言えるでしょう。そのほかにもスマホアプリ開発においてもJavaやswiftと比較すると見劣りする部分も多いので、やはりRuby on RailsはWebアプリケーション開発向けと言えるでしょう。

まとめ

いかがだったでしょうか。Rubyという言語の説明からRuby on Railsの説明、フレームワークやMVCモデルの説明を行ってきました。近年人気が伸びている言語ではありますし、効率的な開発が行えるので非常に良い言語と言えます。しかし、地域によってはいまだにRuby on Railsが浸透していない場所も多いので、自身の仕事をしたい地域を加味して学習するか決めるのがよいでしょう。最後までお読みいただき、ありがとうございました。