※ 本講座は、動画コンテンツが未作成です。
Contents
Webアプリケーションとは
リクエストとレスポンス
普段みなさんは、スマホやパソコンで Slack や Twitter といったアプリを使っていると思います。
それらのアプリを開いたときに、どんな情報がほしいのかについて「要求」を送り、その結果、画面に必要な情報が表示されます。
この「要求」のことを「リクエスト」と呼び、リクエストの結果返ってくる「返事」のことを「レスポンス」と呼びます。
正常にレスポンスが返ってきたら、スマホやパソコンの画面に適切な情報が表示されます。
クライアントとサーバー
この一連の流れで、情報を受け取る側(情報を要求する側)を「クライアント」と呼びます。これは、クライアントが「お客様」という意味を持つことからもイメージしやすいですね。
逆に、情報を提供する側を「サーバー」と呼びます。これは、サーバーが「サービスを提供するもの」という意味を持つことからイメージしやすいと思います。
世の中にはたくさんの Web アプリケーションがありますが、いずれのものも、このやり取りをしています。
- 「要求」: リクエスト
- 「返事」: レスポンス
- 「サービスを提供するもの」: サーバー
- 「お客様」: クライアント
Ruby on Rails とは
Ruby on Rails は、Web アプリケーションを作るためのフレームワークです。
クライアントからリクエストを受けて、何かしらの処理をしてレスポンスを返すのですが、この「何かしらの処理」に当たる部分を作るものが、Ruby on Rails です。
Ruby on Rails を使ってアプリを作ることで、リクエストを受信する部分や、データベースとのやり取りの部分などのベースとなる部分を非常に簡単に実装することが可能になります。
まぁ、簡単に言うとその通りです笑
どのアプリケーションでも、リクエストを受け取る部分をはじめとする基礎部分は、共通して使います。なので、それらを簡単に実装するためにパッケージ化したツールが、Ruby on Rails です。
このように、簡単に何かを作るためのツールを「フレームワーク」と呼び、Webアプリを作るためのフレームワークなので、Ruby on Rails は Webアプリケーションフレームワーク と呼ばれます。
- Ruby on Rails は、Webアプリケーションを作る上でよく使う機能がパッケージ化されたフレームワーク。
Ruby on Rails の思想
Ruby on Rails は、いくつかの思想があるのですが、その中でも特に重要な COC と DRY の2つについて説明しますね。
CoC:Convention over Configuration(設定より規約)
Ruby on Rails には、ファイル名やフォルダ名、テーブル定義などに様々な規約(ルール)があります。
言ってしまえば、細かいルールが多いんですよね。ただ、このようにルールを決めておくと、そのルールに沿ってプログラムを書くだけで、簡単に Web アプリケーションができるようになっています。
Rails は少人数で高速に Web アプリケーションを開発するために作られたフレームワークなので、一度ルールさえ覚えてしまえば高速に開発ができるようになります。
今後のレッスンでは、このルールについてもしっかり解説していくので、ルールについては少しずつ覚えていくようにしましょう。
DRY:Don't Repeat Yourself(同じことを繰り返さない)
DRY(ドライ)は、「同じことを繰り返さない」という意味の思想です。
全く同じ処理のコードをいくつも書いてしまうと、以下のようなことが起こります。
- 共通の処理を修正する場合、何箇所も直すことになり、修正漏れが起こる可能性がある。
- 記述量が増えて、コードが読みづらくなる。
特に大事なのが ① です。
今後のレッスンで、具体例を出しながら説明していきますので、
くらいの理解で OK です。
MVC パターン(Model-View-Controller パターン)
Ruby on Rails は、MVC パターンと言われる設計を採用しています。これは、前回のレッスンでもチラッと図が出てきましたね。
上図の下のほうにあるのが MVC にあたります。それぞれの役割を確認しておきましょう。
Model(モデル) | データベースとやり取りする部分 |
View(ビュー) | ブラウザに画面を表示する役割の部分 |
Controller(コントローラー) | リクエストを受けて Model と View の橋渡しをする部分 |
- 例えば、
https://example.com/groups
というような URL にアクセスしたときに、 解析するのが、 routes に当たる部分です。 - 1の routes によって、適切な Controller が呼び出されます。
- 2 のコントローラーから、Model を通じてデータベース(DB)を操作します。
- データを View に渡します。
- 4のコントローラーと紐づいている View にデータが渡り、HTML や JSON(ジェイソン)と呼ばれる形式のデータが準備されます。
- 最後に、クライアントにレスポンスを返します。
次回のレッスンから、この処理の流れを意識しながら、実際にアプリケーションを作っていきましょう。
まとめ
今回のレッスンでは、以下の4つについて解説しました。
- Webアプリケーションとは何か
- Ruby on Rails とは何か
- Ruby on Rails の思想
- MVC パターンについて
ここまで、少し座学っぽいことが多かったですが、次回のレッスンからは実際にアプリを作っていきます!お疲れ様でした!