第5章

Webアプリ開発の基礎

AIの書いたコードを「読める」ようになるための章です。Webアプリがどんな部品でできているかを知れば、Claudeとの会話が一段と的確になります。

この章のレッスン
  1. Webサイトと「Webアプリ」の違い
  2. HTMLとCSSをコードで眺めてみる
  3. JavaScriptが「動き」を作る仕組み
  4. データはどこに保存されるのか
  5. フレームワークという選択肢

5-1Webサイトと「Webアプリ」の違い

Webサイトは読むためのもの(ブログ、会社案内など)。Webアプリは使うためのもの(家計簿、ToDo管理、予約システムなど)です。技術的な線引きはあいまいですが、「ユーザーの操作に応じてデータが変わるか」が目安です。

Webアプリの構成パターン

構成特徴
フロントエンドのみブラウザ内で完結。データは各自のブラウザに保存電卓、メモ帳、このサイト
フロント + バックエンドサーバー側で処理。複数人でデータ共有できるSNS、ECサイト

フロントエンドはブラウザで動く部分(HTML/CSS/JavaScript)、バックエンドはサーバーで動く部分(データ処理やログイン管理)です。

最初はフロントエンドだけで作る

個人開発の第一歩はフロントエンドのみの構成がおすすめです。サーバー不要・無料で公開でき、それでいて実用的なアプリが十分作れます。本コースの最終章で作るToDoアプリもこの構成です。

💡 ここだけ押さえる ・Webアプリ = 操作に応じてデータが変わる「使う」ためのWeb
・フロントエンド(ブラウザ側)とバックエンド(サーバー側)
・最初はフロントエンドのみの構成で十分

5-2HTMLとCSSをコードで眺めてみる

目標は「書ける」ではなく「見たときに、だいたい何か分かる」です。次のコードを眺めてみましょう。

HTML(構造)
<div class="card">
  <h2>今日のタスク</h2>
  <p>買い物に行く</p>
  <button id="done-btn">完了</button>
</div>
CSS(見た目)
.card {
  background: white;      /* 背景色 */
  border-radius: 12px;    /* 角を丸く */
  padding: 20px;          /* 内側の余白 */
}

読めると何が変わるか

Claudeに修正を頼むとき、「カードの余白をもう少し広く」「.cardのpaddingを30pxにして」のように、ピンポイントで通じる指示が出せるようになります。

🖐 やってみよう Claude Codeに「練習用に簡単なプロフィールカードのHTMLとCSSを作って、各行に日本語のコメントで説明を付けて」と頼んでみましょう。自分のための注釈付き教材が手に入ります。

5-3JavaScriptが「動き」を作る仕組み

JavaScriptの仕事は、一言でいうと「出来事をきっかけに、ページを書き換える」ことです。

JavaScript(動き)
// 「done-btn」という名札のボタンを探して…
const btn = document.getElementById("done-btn");

// クリックされたら、この処理を実行する
btn.addEventListener("click", function () {
  alert("タスク完了!おつかれさま!");
});

3つの基本概念

概念意味
変数データに名前を付けて保管する箱const btn = ...
イベントきっかけとなる出来事クリック、入力、読み込み完了
関数処理のまとまり。呼ばれると実行されるfunction () {...}

ほとんどのWebアプリの動きは「イベントが起きたら、関数が動いて、変数のデータを使って画面を書き換える」の組み合わせでできています。この骨組みを知っていれば、AIの書いたコードの流れが追えます。

コードを読むときの魔法のプロンプト

プロンプト例
このファイルのコードを、プログラミング未経験者に
説明するつもりで、上から順に日本語で解説してください。
特に「いつ・何をきっかけに・何が起きるのか」を中心に。
💡 ここだけ押さえる ・JavaScript = 出来事をきっかけにページを書き換える言語
・「変数・イベント・関数」の3点セットで流れを追う
・分からないコードはClaudeに解説させればよい

5-4データはどこに保存されるのか

「アプリを閉じてもデータが残る」を実現するには、データをどこかに保存する必要があります。主な選択肢は3つです。

保存先仕組み向いている用途
localStorageブラウザ内の小さな保存領域個人用アプリ。このサイトの進捗保存もこれ
ファイルCSVやJSONファイルとして書き出すデータの持ち運び・バックアップ
データベースサーバー上の本格的なデータ保管庫複数人で使うアプリ、大量データ

localStorageを体感する

このサイトの「完了ボタン」を押してからブラウザを閉じて開き直しても、進捗は残っていますよね。あれがlocalStorageです。そのブラウザ・そのPC限定で保存される、というのがポイントです。スマホで開いても進捗は共有されません。

データベースが必要になるのはいつか

「複数の端末から同じデータを見たい」「家族や友達と共有したい」となったら、データベース+バックエンドの出番です。FirebaseやSupabaseなど、初心者でも扱いやすい無料サービスがあり、これもClaude Codeに「Supabaseでデータを保存できるようにして」と頼めば設定を案内してくれます。

💡 ここだけ押さえる ・個人用アプリならlocalStorageで十分
・localStorageは「そのブラウザ限定」の保存
・共有が必要になったらデータベース(Firebase / Supabase等)

5-5フレームワークという選択肢

開発の話題でよく聞くReact(リアクト)Next.js(ネクストジェイエス)。これらはフレームワークと呼ばれる「Webアプリ開発の効率化キット」です。

フレームワークとは

大規模なアプリを素のHTML/CSS/JavaScriptで作ると、コードが複雑になりすぎます。フレームワークは、よくある処理(画面の部品化、データと表示の連動など)をあらかじめ用意して、整理された書き方のルールを提供してくれます。

初心者はいつ使うべきか

段階おすすめ構成
最初の数作品素のHTML/CSS/JavaScript(仕組みが見えやすい)
慣れてきたらReact + Vite など(Claudeに任せれば導入も簡単)
本格的なサービス化Next.js など(公開・拡張に強い)

重要なのは、フレームワークを使うかどうかもClaudeに相談できるということです。「このアプリの規模なら、フレームワークは使うべき?」と聞けば、構成ごとの長所短所を説明してくれます。

💡 ここだけ押さえる ・フレームワーク = Webアプリ開発の効率化キット(React、Next.js等)
・最初は素のHTML/CSS/JSで。仕組みが見えるうちに基礎感覚を養う
・使うべきタイミングはClaudeに相談すればよい

📝 第5章 理解度チェック

全問正解できたら、いよいよ最終章の実践へ!