初心者向け学習方法一覧はこちら
この記事では、Ruby on Railsの特徴にについて解説します。
Ruby on Railsとは
Ruby on RailsとはRubyを用いてWebサービス開発をするフレームワークの1つです。フレームワークとは、Webサービスを開発する際に必要となる土台や基盤を提供しているものです。フレームワークに沿って開発することで、Rubyで0から開発するよりも効率よく、Webサービス開発に取り組むことができます。
Rubyとの違い
Rubyについては、
Rubyの開発者は日本人のまつもとゆきひろ氏ですが、Ruby on Railsの開発者はデーンマーク出身のDavid Heinemeier Hansson氏です。Rubyで開発したソースコードをオープンソースとして公開したことが始まりです。
Rubyについては、前章で解説していますが、Rubyがプログラミング言語で、Ruby on Railsがフレームワークという位置づけです。もちろん、Ruby単体でもWebサービスの開発はできますが、Ruby on RailsはWebサービス開発に特化した基盤を提供しているため、Web開発する上では、プログラミング言語+フレームワークについて理解を深めておく必要があります。
また、RubyのフレームワークはRuby on Rails以外にも存在しますが、Rubyを採択しているサービスのほとんどが、Ruby on Railsですので、RubyとセットでRuby on Railsの学習に取り組むと良いでしょう。
Railsの特徴は、開発生産性を上げるためのRails Wayと呼ばれる2つの主要な基本理念と、MVCアーキテクチャと呼ばれる設計概念に沿って開発することを推奨している点です。順を追って解説していきます。
Rails Way
同じことを繰り返すな(Don't Repeat Yourself: DRY)
DRYはソフトウェア開発における重複を防ぐ考え方であり、同じ意味や機能を持つコードを徹底的に避けることで、コードの保守、バグの発見、拡張性を促すことができます。
設定より規約(Convention Over Configuration: CoC)
Railsでは、Webアプリケーションの機能を実現させる上での最善の方法を、あらかじめ規約として設定しています。これまでの経験や慣習をもとにデフォルト値として用意することで、誰かが設定した情報に混乱することなく開発、コミュニケーションをとれるといったメリットがあります。
有名どころは上の2つですが、他にも開発生産性を高めるための理念があります。Railsの生みの親、David Heinemeier Hansson氏が、Rails公開して10年後に掲げている原則についてもご確認ください。
MVCとは
MVCとはソフトウェアアーキテクチャの一つで、Model, View, Contollerの頭文字をとってMVCと呼ばれます。Modelではデータ処理を、Viewではユーザーへの描画、ContollerではModelとView間の指示や制御を行うというように、それぞれの役割ごとにコードを分離することで、保守性や、開発生産性を向上させるためのアーキテクチャです。
Model
RailsにおけるModelは、データベースとのやり取りを担うRubyクラスです。ActiveRecordと呼ばれるRailsの機能を利用することで、データベースとのやり取りを行うことができます。
View
Viewは、画面上の表示部分を担います。HTMLコードを埋め込むことで、ユーザーに画面をどう見せるのかを定義することができます。
Controller
ユーザーからのHTTPリクエストを受け取り、ModelとViewとやりとりした結果を、レスポンスとしてユーザーに返却する役割を担います。直接、データベースへ書き込みやHTMLを書くことはせず、あくまでも、ModelやViewに対して動作を指示、制御することができます。
Ruby on Railsを学ぶには
無料で学習する選択肢として最もおすすめのサイトはこちらのYoutube動画です。作成されているのは大学生の方ですが、初心者向けにポイントを押さえたわかりやすい説明をされています。
1点補足すると、この動画内では、初心者の敷居を下げるためにCloud9を利用した開発をしています。もちろん環境構築しなくて済むので、初心者にはおすすめのツールですが、Cloud9固有のエラーが出た時に、調べても解決方法が出てこないこともあります。また、開発現場でCloud9を使っている人はこれまで1度も目にしたことがないので、その点だけ注意して開発を進めてください。
環境構築はご自身で進めていただく必要がありますが、1通りのRailsコマンドやコマンドによって作成されるファイルなどが把握できます。ただこちらのサイト通りに進めても、肝心なアプリケーション開発はご自身で進めていただく必要があるので、一通りのコマンドと実行内容を把握する用に参考にしてください。
rails学習する上でとりあえず、これやっとけと言われるのがRailsチュートリアルです。ただ、初心者にとってはかなりハードルは高く、挫折する人が多いように思いますので、他に紹介するRailsのサイトを一周終えた上でトライしてみましょう。
また、昔は全内容が無料で公開されていましたが、Railsの最新バージョンやその他コンテンツについては、有料となっています。とはいえ、古いバージョンでも十分有益な情報ですので、適宜参考にしてみてください。
Railsチュートリアルと同じくらい、有名なサイトです。Railsチュートリアル完走後、または、並行ながらこちらのサイトを参考にすることをおすすめします。
プログラミングスクールの選び方
転職を検討中の方向け
フリーランス・副業で活躍したい方向け
教養・キャリアアップしたい方向け
給付金について詳しく知りたい方向け