今さら聞けない!Ruby on Railsとは【初心者向け】
Webサービスを作りたいと思った人はRuby on Railsという言葉を一度は聞いたことがあるんじゃないでしょうか。最近ではいろんなWeb系の企業が利用しているRuby on Railsですが、「Ruby on Rails」とは一体何者なのか解説していきたいと思います。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Webサービスを作りたいと思った人はRuby on Railsという言葉を一度は聞いたことがあるんじゃないでしょうか。
最近ではいろんなWeb系の企業が利用しているRuby on Railsですが、「Ruby on Rails」とは一体何なのか解説していきたいと思います。
他の言語を学ぶ際にも参考になる内容なので、プログラミングを始めたばかりの人はぜひ知っておきましょう。
そもそもRubyについてよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。
今回はRuby on Railsについて紹介しよう。
田島メンター!!Ruby on Railsというのは何をするものなんですか~?
Ruby on Railsは、Webアプリケーションを作成するためのフレームワークだよ。アプリを作成するのに必要な機能や構造がひとつにまとまったもので、これは誰でも利用することができるんだ。
なるほど、アプリケーションを作る骨組みということでしょうか?是非やってみたいです!
目次
Ruby on Railsとは
Ruby on RailsとはWebアプリケーションフレームワークです。
そもそもWebアプリケーションフレームワークとは、動的なウェブサイト、Webアプリケーション、Webサービスの開発をサポートするために設計されたアプリケーションフレームワークのことを言います。
フレームワークは日本語では「枠組み」というふうに言われますが、まさにその通りで、このRailsもプログラミング言語のRubyで使えるフレームワークなのです。
Railsの基本理念は「Don’t Repeat Yourself(DRY)」、「Convention over Configuration(CoC)」でそれぞれ「同じことは繰り返さない」、「設定より規約」という意味になります。
フレームワークとは
そもそも「フレームワーク」とは何でしょう。
プログラミングの学習を進めていると、一度は目にしたことがあるのではないでしょうか。
フレームワークを使えば、開発者は必要最低限のプログラムを書くだけになり、開発者の負担を大きく減らしてくれます。
RubyでWebアプリを作成するときに毎回書かなければいけないような処理が存在します。Railsは、そのような凡庸的な処理を最初から備えていて、利用者はそれらを意識することなく開発に集中できます。
「フレームワーク」は、よく「ライブラリ」という言葉と混同されがちですが、ライブラリというのは特定の機能を提供し、プログラムの中でそれらを呼び出すことで動作するものです。
それに対して、フレームワークはアプリケーション全体の枠を提供し、開発者の作ったプログラムを読み込んで動作するので、覚えておきましょう。
MVCモデルとは
Ruby on Railsは設計にMVCモデルを採用しています。
MVCとはModel(モデル)、View(ビュー)、Controller(コントローラー)の略称です。
メインの処理と、見た目を生成する処理を一箇所に書いてしまうと、コードが読みづらくなり、メンテナンス性が下がってしまいます。
そこで、メインの処理と、見た目を生成する処理と、それらを接続する処理を分けて書くというのがMVCの発想です。
分割することによってコードの再利用性を高めることもできます。
Ruby on Railsでできること
これ単体では何もできません。
Rubyやhtmlなど、Webサービスを作る上での最低限のプログラムの知識を要します。
HTML,CSS,Rubyがわかっているとスムーズに始めることができますが、Railsを使ってWebアプリケーションを作りながら同時進行で勉強するのも一つの手だと思います。
最初でも書いたように、Railsは枠組みです。
面倒なフォルダ、ファイルの作成をコマンド一つですべて行うことができ、そのフォルダやファイルの内容を変更することで、作っていきます。
Railsの枠組みの中でHTML・CSS・Rubyなど各言語を使用してアプリケーションを作成していくんだ。
それぞれの知識も必要ってことですね。
そうだね。あと、各ファイルがどのように配置され、どういう役割を果たしているかというのも少しずつ覚えていくといいよ。アプリケーションの作成とサーバー起動の方法も確認しておこう。
Ruby on Railsの書き方
アプリケーションの作成の仕方、サーバーの立ち上げ方について説明していきます。
これらはすべてターミナル上で行います。
railsコマンドを使って「app」という名前のアプリケーションを作成しましょう。
rails new app
これをターミナルで打ち込むだけで必要なフォルダ、ファイルが作成されます。
作成されたらそのフォルダに移動しましょう。
rails server
これを打ち込むと先ほど作ったアプリケーションにアクセスするためのサーバーが起動します。
Safariなどから表示されているサイトにアクセスすれば見ることができます。
Ruby on Railsの学習方法
最後にRuby on Railsの学習サイトと書籍をご紹介します。
学習サイト
Ruby on Railsチュートリアル
こちらのサイトはMichael Hartl(マイケル・ハートル)著、YassLab社が運営するチュートリアルです。
実際に公開できるWebアプリを作りながら学べるので、手を動かしながら学びたい人にぴったりです。
電子書籍版や実演動画を別途購入することも可能です。
Ruby on Railsガイド
こちらのサイトは上記のチュートリアルの副読本として読むことをオススメします。
チュートリアルで分からなかったことなどを重点的に読むと良いでしょう。
Progate
Progateはブラウザ上で擬似プログラミングできる学習サイトです。
トピックごとにスライドが何枚か用意されています。スライドを読み終わると、そのスライドに沿った課題が出され、プログラミング初心者におすすめです。
ある程度プログラミング経験のある方にはまどろっこしく感じるかもしれません。
書籍
Ruby on Rails環境構築ガイド
この本は環境構築を中心に書かれています。
上記のチュートリアル等では環境構築についてあまり言及されていないので、補足的にこの本で学ぶと良いでしょう。
Ruby on Rails5アプリケーションプログラミング
こちらの本では、良質なサンプルと共にとても大きな範囲の解説がされています。
上記のチュートリアルとも内容が被りますが、少し違った視点で学べます。
Ruby on Rails5 超入門
こちらの本では比較的やさしめに書かれています。
かたいデザインや文章が苦手な方にはオススメです。
今回の記事ではRuby on Railsの大枠の解説をしてきました。
初心者にも使いやすいフレームワークなので、興味がある人はぜひ使ってみてください。
“rails server”は”rails s”でも同じことができるよ。頻繁に使うコマンドなので覚えておこう。
基本は”cd”で該当のフォルダに移動して”rails server”あるいは”rails s”ですね。
大事なのは、終了するときは必ずCtrl+cを行うこと。これをせずにターミナルやコマンドプロンプトを閉じてしまうとプロセスIDを残したままの終了となり、次に開始するときにエラーが起きてしまうので注意だよ。
分かりました、気をつけます!
TechAcademyでは、初心者でもRuby on Railsを使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。