※ 本講座は、動画コンテンツが未作成です。

Webアプリケーションとは

リクエストとレスポンス

普段みなさんは、スマホやパソコンで Slack や Twitter といったアプリを使っていると思います。

それらのアプリを開いたときに、どんな情報がほしいのかについて「要求」を送り、その結果、画面に必要な情報が表示されます。

この「要求」のことを「リクエスト」と呼び、リクエストの結果返ってくる「返事」のことを「レスポンス」と呼びます。

正常にレスポンスが返ってきたら、スマホやパソコンの画面に適切な情報が表示されます。

クライアントとサーバー

この一連の流れで、情報を受け取る側(情報を要求する側)を「クライアント」と呼びます。これは、クライアントが「お客様」という意味を持つことからもイメージしやすいですね。

逆に、情報を提供する側を「サーバー」と呼びます。これは、サーバーが「サービスを提供するもの」という意味を持つことからイメージしやすいと思います。

世の中にはたくさんの Web アプリケーションがありますが、いずれのものも、このやり取りをしています。

まとめ
それぞれの用語は、英語の意味を考えると割とすっと覚えられると思います。
  • 「要求」: リクエスト
  • 「返事」: レスポンス
  • 「サービスを提供するもの」: サーバー
  • 「お客様」: クライアント

Ruby on Rails とは

Ruby on Rails は、Web アプリケーションを作るためのフレームワークです。

クライアントからリクエストを受けて、何かしらの処理をしてレスポンスを返すのですが、この「何かしらの処理」に当たる部分を作るものが、Ruby on Rails です。

Ruby on Rails を使ってアプリを作ることで、リクエストを受信する部分や、データベースとのやり取りの部分などのベースとなる部分を非常に簡単に実装することが可能になります。

ねこくん
たくさん書かないと動かない Webアプリ実装が、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(ドライ)は、「同じことを繰り返さない」という意味の思想です。

全く同じ処理のコードをいくつも書いてしまうと、以下のようなことが起こります。

  1. 共通の処理を修正する場合、何箇所も直すことになり、修正漏れが起こる可能性がある。
  2. 記述量が増えて、コードが読みづらくなる。

 

特に大事なのが ① です。

今後のレッスンで、具体例を出しながら説明していきますので、

ねこくん
へー、そんな考え方があるんだー

 

くらいの理解で OK です。

MVC パターン(Model-View-Controller パターン)

Ruby on Rails は、MVC パターンと言われる設計を採用しています。これは、前回のレッスンでもチラッと図が出てきましたね。

上図の下のほうにあるのが MVC にあたります。それぞれの役割を確認しておきましょう。

Model(モデル) データベースとやり取りする部分
View(ビュー) ブラウザに画面を表示する役割の部分
Controller(コントローラー) リクエストを受けて Model と View の橋渡しをする部分
これらをもとに、実際にどのような処理の流れになるかを追ってみましょう。
それぞれの数字が、以下の番号と一致しています。理解はなんとなくでいいので、どのような流れで処理が行われるかをここでは押さえておきましょう。
  1. 例えば、 https://example.com/groups というような URL にアクセスしたときに、 解析するのが、 routes に当たる部分です。
  2. 1の routes によって、適切な Controller が呼び出されます。
  3. 2 のコントローラーから、Model を通じてデータベース(DB)を操作します。
  4. データを View に渡します。
  5. 4のコントローラーと紐づいている View にデータが渡り、HTML や JSON(ジェイソン)と呼ばれる形式のデータが準備されます。
  6. 最後に、クライアントにレスポンスを返します。

 

次回のレッスンから、この処理の流れを意識しながら、実際にアプリケーションを作っていきましょう。

まとめ

今回のレッスンでは、以下の4つについて解説しました。

  1. Webアプリケーションとは何か
  2. Ruby on Rails とは何か
  3. Ruby on Rails の思想
  4. MVC パターンについて

 

ここまで、少し座学っぽいことが多かったですが、次回のレッスンからは実際にアプリを作っていきます!お疲れ様でした!

前の記事 / 次の記事