【初心者でもわかる具体例あり】Webサービスの作り方をエンジニア目線で解説

「自分でWebサービスを作ってみたい!」と思って作り方を検索しても、あなたが知りたい情報は見つかりません。

なぜなら、「Webサービスの作り方」で検索すると、情報の範囲が広すぎるからです。

  • Webサービスを作るための考え方
  • 基本的な作業の流れ
  • 注意点

これらを知りたいのであれば問題ありませんが、具体的な作り方はわかりませんよね。そこで、この記事ではWebサービスを作る手順について、初心者にもわかりやすく解説していきます。

解説している内容
  • WebサイトとWebサービスの違い
  • データベースとの関係
  • 簡単なWebサービスの作り方

Webサービスがどのような仕組みで作られているのか知りたい方は、ぜひ参考にしてください。ただ、プログラミングの知識が全くない方には少し難しいため、先に⬇︎の記事で言語の種類を確認することをおすすめします。

WebサイトとWebサービスの違い

それでは、はじめにWebサイトとWebサービスの違いについて簡単に解説します。まずは、それぞれの特徴について表にまとめてみました。

種類WebサイトWebサービス
代表的な例ホームページECサイト・ポータルサイト
動画配信・SNS・メール
画面の表示内容誰が見ても同じユーザーによって異なる
プログラムが動く場所端末のブラウザWebサーバー
主な機能の例なしログイン
ショッピングカート
お気に入り

上記の表から、Webサイトに何か「便利な機能」を加えると、Webサービスが出来上がります。Webサイトに便利な機能を加えるには、データベースとの連携が必要です。

便利な機能とデータベースの関係とは?

続いて、データベースを操作して便利な機能を作る方法について解説します。例えば、ログイン機能を利用する場合、ユーザーごとに情報を分けて表示しなければいけません。

このとき、Webサーバーでは下記の処理を実行します。

  1. ユーザーを判別する
  2. ユーザーに合わせて情報を選択する
  3. 選択した情報を表示する

みなさんも経験している通り、ログインするためにはIDパスワードが必要です。このIDとパスワードはデータベースに保存されています。

ログインとは、「入力した内容と一致したユーザーを判別する仕組み」のことです。ユーザーが判別できれば、紐づいた情報を選択して画面に表示できます。

このように、さまざまな情報をデータベースに保存し、必要に応じた処理をすることで、たくさんの便利な機能が作られています。

データベースに保存する情報について

次に、データベースに保存する情報について、もう少し詳しく解説します。データベースには、主に「文字」「数字」種類別に分けて保存します。では、代表的な例を表でまとめておきます。

データ型種類使用例
文字名前ユーザー名を表示する
メールアドレスログインに使う
パスワード
テキストタイトルや本文を保存する
数字ID個別に管理するため
日付登録日・更新日を記録する
状態ON・OFFを切り替える
(データを残したまま表示させない)

データベースに保存したデータは、『編集・検索・削除』などが可能です。Webサービスを作るときは、実装したい機能に合わせてデータベースを考えた上で、組み合わせて設計します。

Webサービスの具体例

では、実際にWebサービスの作り方を見ていきましょう。初心者でも作りやすい簡単なWebサービスは、下記の通りです。

作りやすいWebサービス
  • メモ
  • ブログ
  • マッチングサービス

どれも、シンプルな機能に限定することで単純な仕組みにできるため、初心者向けの教材として多く使われています。

次に、それぞれのサービスの仕組みは、大きく3つの役割に分けられます。

役割の種類主な内容必要な言語の例
データベースデータの保存・編集・検索・削除をするSQL
サーバーユーザーからのリクエストに合わせて
必要な処理をする
PHP・Ruby
フロントエンド画面の表示を作るHTML・CSS
JavaScript

このうち、Webサービスに必要な機能を作るには、データベースの設計が重要になります。なぜなら、データベースに保存されたデータを工夫して表示することで、Webサービスの機能が作られるからです。

文章ではわかりにくいので、簡単なWebサービスに使われているデータベースの具体例をご紹介します。

メモアプリのデータベース設計

例えば、簡単なメモアプリを作るとします。不特定多数の方が使う場合、ユーザーごとにデータを分けて管理しなければいけません。

この場合、データベースには2つのテーブル(表)が必要です。(詳細は省いた上で、最低限の内容で進めていきます)

ユーザーテーブル

種類内容
id個別に管理するため
name名前
emailメールアドレス
passwordパスワード
created_at作成日時
updated_at更新日時

メモテーブル

種類内容
id個別に管理するため
user_idユーザーと紐づけるため
content本文
status状態を表示
created_at作成日時
updated_at更新日時

ユーザーテーブルには、ログイン機能に必要なユーザーに関するデータを保存します。メモテーブルには、メモの内容や登録したユーザーのIDなどを保存します。

さらに、ユーザーテーブルとメモテーブルを紐付けることで、ログインしたユーザーは特定のデータのみ扱えるように限定できます。ちなみに、ブログも同じような仕組みで作られています。

マッチングアプリのデータベース設計

マッチングアプリの場合は、ユーザーがお互いに「いいね!」をした場合にお知らせする機能が必要です。そのため、データベースには下記の2つのテーブルを用意します。

ユーザーテーブル

種類内容
id個別に管理するため
name名前
emailメールアドレス
passwordパスワード
created_at作成日時
updated_at更新日時

マッチングテーブル

種類内容
from_user誰から(ユーザーID)
to_user誰に対して(ユーザーID)
likeいいね!の結果
1=いいね!
0=なし

ユーザーテーブルのIDをマッチングテーブルと紐付けることで、「いいね!」した相手を判別します。お互いに「いいね!」しているなら、それぞれのユーザーの画面に表示させます。

「いいね!」の使い方を工夫すれば、仕事お店のマッチングサービスにも対応できますね。また、メモの機能とマッチングアプリの「いいね!」機能を合わせると、Twitterのようなサービスも作れそうです。

実装したい機能に合わせてデータベースを作る

作りたいWebサービスに必要な機能を実装するには、データベースの設計が重要になります。データを表示する場所や内容を変えることで、さまざまな機能を作ることができるからです。

また、Webサービスには他にも2つの役割がありましたね。

役割の種類主な内容必要な言語の例
データベースデータの保存・編集・検索・削除をするSQL
サーバーユーザーからのリクエストに合わせて
必要な処理をする
PHP・Ruby
フロントエンド画面の表示を作るHTML・CSS
JavaScript

データベースの設計が済んだら、必要なページの種類やデザインを考えます。どのデータをどの場所にどのように表示するかで、実装できる機能は大きく変わります。

また、上記の表からわかる通り、サーバーで動くプログラムと、Webページの見た目を作るプログラムの言語は異なります。つまり、複数の言語を使ってWebサービスを作るということです。

とはいえ、必要な言語を全て完璧に覚える必要はありません。なぜなら、Webサービスを作るために必要な学習は、それぞれの言語の一部に限られるからです。

各プログラミング言語をしっかり学ぶためには、長い時間が必要です。すると、学習量が多くなり挫折しやすくなります。そのため、最初は基礎知識のみ学習し、必要になった時点で調べながら進めていく方法がおすすめです。

Webサービスに興味があるなら、まずは「自分で作ること」を目標にしましょう。そのあとに、不足している知識やスキルを学んでも遅くはありません。

と言われても、初心者がいきなりWebサービスを作るのは難しいですよね。そこで、最短ルートでWebサービスを作る学習内容について⬇︎の記事で解説しているので、ぜひ参考にしてください。

Webサービスを作れるようになれば、自分のアイデアを「形」にすることも可能になります。ぜひ、日常生活の不満を解決できる便利なサービスを作ってください。

タイトルとURLをコピーしました