Ruby on Ruilas入門!フレームワーク基礎からその使い方まで解説
  • facebookページ
  • twitterページ
  • 2021.04.26

    Ruby on Ruilas入門!フレームワーク基礎からその使い方まで解説

    未経験からITエンジニアに挑戦するなら、Rubyを学び、Ruby on Railsを使ったWebシステム開発の仕事に就くことをおすすめします。うまくいけば数年で年収500万円を超えるエンジニアとして仕事ができ、さらにフリーランスになれば年収1000万円も夢ではありません。

    今回は、Ruby on Railsへの入門を考えている方に、フレームワークとは何か、またその特徴と使い方について解説します。

    Webシステムの基本

    Ruby on Railsはプログラミング言語Rubyを利用し、短時間でWebシステムを開発するための使われるフレームワークです。Ruby on Railsを理解するには、フレームワークとは何か、そしてWebシステムとはどのように動作しているかを理解しなければなりません。

    そこでRuby on Rails入門者向けの基本を解説する前に、Webシステムの基本的な構成について紹介します。

    httpサーバーとは

    Ruby on RailsでWebシステムを作るなら、httpの仕組みを理解しなければなりません。httpを簡単に解説すると、httpを利用するWebサーバーは、Webブラウザからのリクエストを受けて、HTMLとそれに記載されたコンテンツである画像や動画などを送信します。

    Webシステムではあらかじめ用意しておいたHTMLを送信することもありますが、ほとんどはWebブラウザからのリクエストに応じてHTMLを合成し、それを送信します。

    Ruby on Railsは、そのようなHTMLを合成してWebブラウザに送信するWebシステムを作り易くするための仕組みです。

    Webシステムの構成

    今使われているWebシステムは、大きく分けると3つの機能で構成されています。その3つは、HTMLを作る基になるデータを格納する機能、リクエストに応じたデータを選んだり加工する機能、そしてHTMLを作る機能です。

    このうちデータの格納する機能を担当するのがSQLデータベースです。そのためWebシステムにはデータベースに格納されたデータを取り出したり、保存する機能として、SQLデータベースにアクセスする機能が組み込まれています。

    またHTMLを作る機能では、ゼロからHTMLを合成するのではなく、ベースになるHTMLの一部を書き換えるのが一般的です。そのためベースとなるHTMLを編集しやすいような工夫が施されています。

    そして、Webブラウザからのリクエストを解析し、それに応じてデータを選んだり加工する処理でも、多くのシステムで同じような処理が使われます。そのため多くのプログラムから構築されているのが一般的です。

    なおこのような3つの機能には共通化できる点が多く、そのような機能をまとめたのがフレームワークです。

    MVCモデルのフレームワーク

    先ほど多くのWebシステムが3つの機能を中心に作られていると説明しましたが、この考え方はMVCモデルと呼ばれます。なお、MVCとは、Model、View、Controllerの3つの頭文字から取った名称です。

    そして今回紹介するRuby on Railsは、このMVCモデルの考え方に基づいて作られています。そのためRuby on Railsには先ほど紹介した3つの機能を実現するためのRubyのライブラリが含まれており、それらを利用して短期間でWebシステムを開発することが可能です。

    Webシステム開発の入門にRuby on Railsを使うのならMVCモデルの考え方をまず理解しましょう。

    そもそもフレームワークとは

    先ほど紹介したようにRuby on Railsは、MVCモデルに基づくWebシステムを開発するためのフレームワークです。とはいえWebシステムを開発するためのフレームワークとはどんなものかを理解できないとRuby on Railsは理解できません。

    次からフレームワークの考え方や使い方について解説します。

    フレームワークの語源

    Webシステムの開発で使われるフレームワークとは英語のframeworkが基になった言葉で、その意味は「枠組み」「骨組み」「構造」などです。

    なおフレームワークは、ビジネスでもよく使われる用語で、業務改善や問題解決に役立つ分析ツールや思考方法を差す言葉として使われます。

    フレームワークの特徴

    今回紹介しているRuby on Railsのようなフレームワークは、Webシステムの構築に必要な機能がライブラリとして用意されており、フレームワークの規則に従ってRubyのソースリストを用意することでWebシステムとして動作します。

    一般的なRubyのライブラリは、ソースリストにライブラリを読み込んで使用しますが、Ruby on Railsではそのような使い方をしません。ソースリスト無しでも動作するWebシステムの一部に、ソースリストを追加してオリジナルのWebシステムを構築していく仕組みです。

    フレームワークが難しい点

    フレームワークは枠組みが決まっているので、その考えに沿って開発できるケースでは便利に使えます。しかし、その枠組みに合わないWebシステムでは使い難い点がデメリットです。

    さらに入門者にとってはRubyの学習に加えて、Ruby on Railsの考え方やライブラリに登録されたメソッドの使い方を学ばなければなりません。このように学習に時間がかかる点もデメリットと言えます。

    とはいえ他のプログラミング言語のフレームワークでも多くの規約があり、それを覚えないと開発ができません。Rubyは短く読み易いプログラムが書けるプログラミング言語です。そのため入門者にとってはフレームワークを含めても習得しやすい点がRubyのメリットです。

    Ruby on Railsを使うには

    先ほど紹介したようにRuby on Railsのようなフレームワークは、規約に沿って使わなければなりません。さらに注意することが幾つもあり、使い始めるまでに手間がかかる仕組みです。

    次からRuby on Railsを使うために入門者に知ってほしいことについて紹介します。

    Ruby on Railsの2つの原則

    Ruby on Railsにはプログラムする際に心がけて欲しい2つの原則があります。Rails入門者は、ぜひ、この2つを理解してプログラムに取り組んでください。

    ・DRY(Don’t Repeat Yourself)、日本語では「繰り返しを避けよ」
    ・CoC(Convention over Configuration)、日本語では「設定より規約」

    DRY原則は、同じプログラムを幾つも書くのではなく、既存の関数やライブラリを積極的に利用し、また独自の機能をライブラリ化することで、効率の良いプログラムを書くことです。

    またCoC原則は、Ruby on Railsであらかじめ用意された規約に従って開発を進めることで、より短く見やすいプログラムを書くことを指しています。

    ディレクトリ階層

    Ruby on Railsのようなフレームワークを使って構築したWebシステムは、それを構成するディレクトリ階層が決まっています。そしてどのディレクトリの下に何のファイルを作る、といったこと規約として決まっています。

    Ruby on Railsを料してWebシステムを構築するなら、規約に基づくディレクトリ階層に合わせてプログラムを準備してください。

    なおこのディレクトリ階層はrailsコマンドの新規作成手順で作成できます。

    Ruby on Railsのプロジェクトの新規作成方法

    rails new [プロジェクト名]

    Ruby on Railsの学習方法

    Rubyは比較的学習しやすいプログラム言語で、しかもWebによる学習サイトや良質な入門書が幾つもあるのことから独学で十分学習できます。

    しかしRuby on Railsを学習するなら、Webの学習サイトを利用したり入門書を読んだだけでは不十分です。実際にWebシステムを作りながら、Webシステムがどのように動作しているか、また、そのためにどのようなプログラムが必要かを学ばなければなりません。

    そのため現役のエンジニアが指導するプログラミングスクールを利用したり、Ruby on Railsを利用している企業への就職を検討してください。

    まとめ

    これまで紹介したようにRuby on RailsはMVCモデルに基づくWebシステム作成用のフレームワークです。Webシステムを作るために必要を多くの機能をライブラリとして用意しているので、最低限の機能を作成するだけでオリジナルのWebシステムを実現できます。

    ただしRuby on Railsは規約に基づいて使う必要があるので、入門者はその仕組みと規約を理解しなければなりません。そしてRuby on Railsの入門には、実際のWebシステムを構築する体験が最適です。そのような機会をうまく活用してください。



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE