STEP 0
Webサイトは、何でできているの?
作り始める前に、たった1枚の地図だけ持っていきます
そもそも「コード」って何?
コードって、天才が書くすごいものでしょ? わたしにも書けるの?
結論から言うと、書けます。コードとは、むずかしく言えば「コンピューターへの指示書」。やさしく言えば、「コンピューターにお願いごとを伝えるための、決まった書き方の文章」です。
わたしたちが友だちに「牛乳買ってきて」とお願いするように、コンピューターにも「ここに大きな文字で"こんにちは"と出して」とお願いします。ただ、コンピューターは日本語の空気を読んでくれないので、決まった書き方(=言語)で、きっちり伝える必要がある。その決まった書き方で書いた文章が「コード」です。それだけ。
だから、覚えることは「天才的なひらめき」ではなく、「お願いの書き方のルール」。九九や、料理のレシピの読み方を覚えるのと同じ種類の話です。怖くありません。
Webページは「3つの材料」でできている
いま見ているこの画面も、あなたが毎日見るどんなサイトも、煎じ詰めればたった3つの材料でできています。役割がきれいに分かれているので、まずこの3つだけ覚えれば、地図は完成です。
| 材料 | 担当 | 家でたとえると |
|---|---|---|
| HTML エイチティーエムエル | 骨組み・中身 (文字・画像・リンクが「ここにある」) | 柱と、部屋の間取り |
| CSS シーエスエス | 見た目 (色・大きさ・余白・配置) | かべの色・かぐ・内装 |
| JavaScript ジャバスクリプト | 動き (押したら開く・さわると反応) | 電気・自動ドア・スイッチ |
順番にも意味があります。まず HTML で骨組みを作り、次に CSS で見た目を着せ、最後に必要なところだけ JavaScript で動かす。家を建てるのと同じで、柱(骨組み)が先、内装(見た目)が後、電気(動き)は仕上げ。この本もその順番——STEP1でHTML、STEP2でCSS、STEP3でJavaScript——で進みます。
3つも言語を覚えるの…? 大変そう。
安心してください。この本では3つとも「さわりだけ」やります。1個ずつは、拍子抜けするほど簡単な1行から始めます。全部をマスターする必要はなく、「どれが何の担当か」が体でわかれば、それがいちばん大事な土台です。
「ブラウザ」という、材料を組み立てる係
もう一人だけ、登場人物を紹介します。ブラウザです。Chrome(クローム)、Safari(サファリ)、Edge(エッジ)——あなたが今このページを見るのに使っているアプリ、それがブラウザです。
ブラウザの仕事は、「あなたが書いた3つの材料(HTML・CSS・JS)を読んで、画面にちゃんと組み立てて表示する」こと。あなたは材料を用意する係、ブラウザはそれを料理して出す係。だから——
🧩 これから、あなたがやること
この「書く → ブラウザで開く → 表示される」が、Webページ作りのすべての基本動作です。次のSTEP1で、さっそく本当にやってみます。
- コード=「コンピューターへのお願いを、決まった書き方で書いた文章」。怖くない。
- Webページは HTML・CSS・JavaScript の3つの材料でできている。
- ブラウザが、その材料を読んで画面に表示する。
- 作る順番は「骨組み(HTML)→見た目(CSS)→動き(JS)」。
STEP 1
文字を、画面に出してみる(HTML)
いちばん最初の一歩。ここで「できた!」を体験します
まず、本当に画面に文字を出す
説明より先に、成功体験を1つ。次のたった1行が、あなたの最初のWebページです。やってみましょう(読むだけでもOK)。
- パソコンに最初から入っている「メモ帳」(Macなら「テキストエディット」)を開く。
- 下のコードを、そのまま打つ(コピペでもOK)。
index.htmlという名前で保存する(.htmlが大事)。- できたファイルをダブルクリック。ブラウザが開いて…表示されます!
📝 あなたが書くコード
🖥 ブラウザでこう表示される
はじめまして
↑ たった1行で、大きな見出しが画面に出ました。これがWebページの最初の一歩です。
おめでとうございます。もう「Webページを作ったことがある人」です。大げさではなく、ここからやることは全部、この1行に部品を足していくだけです。
「タグ」の正体 ― 文字をカッコではさむだけ
さっきの <h1> と </h1>。これをタグと呼びます。HTMLの9割はこのタグでできているので、ここだけ押さえれば大丈夫。仕組みはとても単純です。
🔖 タグは「はじまり」と「おわり」で、文字をはさむ
<h1> の h1 は "heading 1(見出し1)" の略。</h1> のようにスラッシュ / が付いた方が「おわり」の合図です。この「はさむ」だけが、タグのすべて。よく使うタグは、ほんの数種類です。
| タグ | 意味 | 使い方 |
|---|---|---|
<h1> | 大きな見出し | <h1>お店の名前</h1> |
<p> | ふつうの文章(段落) | <p>ようこそ。</p> |
<a> | リンク(押すと飛ぶ) | <a href="...">地図</a> |
<img> | 画像(これは閉じタグ不要) | <img src="neko.jpg"> |
href とか src とか、急に出てきた横文字は何?
これは「属性」といって、タグに付ける追加のメモです。<a href="行き先のURL"> なら「このリンクの行き先はここ」、<img src="画像の名前"> なら「表示する画像はこれ」。タグ本体に「どこへ?」「どの画像?」を耳打ちしている、と思えばOKです。
<○○> と </○○> ではさんで「これは見出し」「これは段落」と役割を付けるもの。/ が付く方が「おわり」。部品を足して、1ページにしてみる
タグがわかれば、あとは足し算です。見出しの下に、文章・画像・リンクを並べてみましょう。上から書いた順に、上から表示されます。
📝 あなたが書くコード
🖥 ブラウザでこう表示される
↑ 書いた順(見出し→文章→画像→リンク)に、そのまま縦に並びました。
これで、立派な1ページの完成です。中身(骨組み)はもうできました。でも…なんだか味気ないですよね。真っ黒な文字が、左に寄って並んでいるだけ。ここに色や大きさをつけて"お店の雰囲気"を出すのが、次のSTEP2「CSS」の役割です。
- メモ帳に書いて
.htmlで保存 → ブラウザで開く、で本当にページが表示できた。 - タグ=文字を
<○○>〜</○○>ではさんで役割を付けるもの。 - 見出し(h1)・文章(p)・画像(img)・リンク(a)を、上から順に並べれば1ページになる。
- ただしHTMLだけだと「味気ない」。→ 次は見た目(CSS)。
STEP 2
見た目をつける(CSS)
味気ないページに、色・大きさ・余白で"雰囲気"を着せる
CSSの1行で、見た目は変わる
STEP1で作ったページは、真っ黒で左寄せの、そっけない見た目でした。CSSは、そこに「色はこれ」「文字はこの大きさ」「まん中に寄せて」と見た目の指示を足す役割です。まず、たった1行の効き目を見てください。
📝 CSSを1行足すと…
🖥 見出しの色が変わる
ねこカフェ もふ
↑ color: crimson;(赤)と書いただけで、見出しの色が変わりました。
CSSの書き方は、いつもこの形です。日本語に訳すと、こう読めます。
「どこに { 何を: どうする; }」——この3点セットだけ。color(色)を font-size(文字の大きさ)や text-align: center(まん中に寄せる)に変えれば、いろんな見た目を指示できます。
CSSって、どこに書くの? さっきのHTMLとは別なの?
いくつか方法がありますが、いちばん素直なのは「CSS専用のファイル(例:style.css)を作って、そこにまとめて書く」やり方。そしてHTML側に「この見た目ファイルも読んでね」と1行つなげます。骨組み(HTML)と見た目(CSS)をファイルごと分けておくと、後で見た目だけ直したいときに迷いません。
「クラス」で、狙った所だけ着せ替える
h1 { ... } と書くと、ページ中の見出し全部が同じ見た目になります。でも「この見出しだけ特別にしたい」ときもある。そこで登場するのがクラス——「印(ふだ)を付けて、その印の所だけ狙い撃ちする」仕組みです。
🏷 HTMLに印を付け、CSSでその印を狙う
CSS側で先頭に点 . を付けた .title は「title という印がある所だけ」という意味。これで、狙った部品だけを着せ替えられます。さあ、STEP1の味気ないページ全体に、CSSで"お店らしさ"を着せてみましょう。
📝 見た目をまとめて指示(CSS)
🖥 ぐっとお店らしく
ねこカフェ もふ
ゆっくり過ごせる、まちのカフェです。
電話する
↑ 中身(HTML)は STEP1 と同じ。CSSを着せただけで、雰囲気がまるで変わりました。
.名前)で、印を付けた所だけ狙い撃ちできる。中身はそのまま、見た目だけ着せ替えられる。- CSSは「どこに { 何を: どうする; }」の3点セットで見た目を指示する。
color(色)、font-size(大きさ)、text-align(配置)、background(背景)などを指定できる。- クラス(
.名前)で、狙った部品だけ着せ替えられる。 - 骨組み(HTML)はそのまま、見た目(CSS)だけで雰囲気を作れる。
STEP 3
動かしてみる(JavaScript)
「押したら反応する」を、1個だけ作ってみる
ボタンを押したら、メッセージが出る
HTMLで骨組み、CSSで見た目。最後の材料JavaScriptは「動き」の担当です。「ボタンを押したら」「スクロールしたら」といったきっかけに反応して、画面を変化させます。まずは、いちばん基本の「押したら反応」を作ってみましょう。
📝 あなたが書くコード(考え方)
🖥 本当に押せます(押してみて!)
↑ このボタン、飾りではなく本当に動きます。押すと下にメッセージが出ます。これがJavaScriptの「動き」です。
やっていることは、たった2ステップ。①「押されたら」というきっかけを決める → ②そのとき何をするか(メッセージを出す)を書く。この「きっかけ → する事」の組み合わせが、JavaScriptの基本の形です。難しい記号は、慣れれば模様のように見えてきます。
function とか、急にプログラミングっぽくて身構える…!
function(ファンクション)=「ひとまとまりの手順」のこと。「メッセージを出す」という一連の動きに名前を付けて、袋にまとめたもの、と思えばOK。中身が難しく見えても、やりたいことは"押したら、これして"の一言。最初は意味の8割がわかれば十分です。
動きは「盛りすぎ注意」 ― 少ないほど良い
JavaScriptは楽しくて、つい色々動かしたくなります。でも動きは、多いほど良いものではありません。むしろ逆で、必要な所にだけ、少しが上品で、しかも壊れにくい。
- 動きが多いページは重くなり、スマホでカクつきやすい。
- 過剰なアニメーションは、読み手を疲れさせる。
- 動く部分が増えるほど、壊れる可能性も増える。
だから、作る順番は「骨組み(HTML)→見た目(CSS)→必要なところだけ動き(JS)」。多くの美しいサイトは、実はJavaScriptをほとんど使っていません。「まず動かさない。どうしても要る所だけ、少し動かす」——これがプロの感覚です。
- JavaScriptは「動き」担当。「きっかけ → する事」が基本の形。
- ボタンを押したらメッセージを出す、という反応を作れた。
function=「ひとまとまりの手順」に名前を付けた袋。- 動きは"必要な所に少しだけ"が正解。盛りすぎない。
ここまでで、Webページの3つの材料(HTML・CSS・JavaScript)を全部さわりました。骨組みを作り、見た目を着せ、動きを1つ付けた。これがフロントエンドの"ぜんぶ"の土台です。次のSTEP4では、「じゃあ世の中の React とか Next とかいう横文字は何なの?」に、この体験の延長で答えます。
STEP 4
部品と、道具が増える理由
「React? Next?」——あの横文字たちが、なぜ生まれたのか
ページが増えると、コピペ地獄が始まる
STEP3までで、1ページは作れるようになりました。でも実際のサイトは、トップ・メニュー・お知らせ…と何ページもあります。そして、どのページの上にも同じロゴやメニューを出したい。すると、こんな問題が起きます。
😵 素朴なやり方(コピペ)
😊 部品にするやり方(コンポーネント)
↑ 同じ見た目を「1個の部品」にして使い回す。この部品がコンポーネントです。
コンポーネント=名前を付けて使い回す、画面の部品。ボタンも、メニューも、カードも、ページ全体も、大きさが違うだけで全部"部品"にできます。えらいのは賢いからではなく、「1か所直せば、使っている全部に反映される」から、人間が楽になる——ただそれだけです。
だから「道具(フレームワーク)」が生まれた
この「部品にして使い回す」を、素のHTML/CSS/JSだけでやろうとすると、実は結構めんどうです。そこで「部品化や、データと画面の連動を、楽にやってくれる道具」が生まれました。それが、あなたを怖がらせてきた横文字の正体です。
| 横文字 | ざっくり何者? |
|---|---|
| React / Vue / Svelte | 部品を作って使い回すのを、楽にする道具(3つは書き味ちがい) |
| Next.js / Astro | その部品を集めて「サイト全部」に組み立てる、ひとつ上の道具 |
| Tailwind | CSS(見た目)を、もっと手早く書くための書き方 |
| npm | 他人が作った便利な部品を、ネットから取ってくる買い出し係 |
ポイントは1つ。これらは全部、STEP1〜3で作った土台の"続き"であって、別世界ではありません。「素のやり方だと大変なところ」を、道具が肩代わりしてくれる。それだけ。だから——
結局、どれを覚えればいいの? 全部!?
いいえ。今は、ひとつも覚えなくて大丈夫です。お店・作品・ブログのような「見せるためのシンプルなサイト」なら、STEP1〜3の土台だけで作れます。横文字が必要になるのは、SNSやネットショップのような「たくさんの人が使う、複雑に動くアプリ」を作る段階から。小さく始めて、必要になった時に1個ずつ足す——これが唯一の正しい順路です。気になった言葉だけ、巻末の「用語ミニ辞典」をのぞいてください。
- ページが増えるとコピペ地獄 → 同じ見た目を「1個の部品」にして使い回す=コンポーネント。
- 横文字の道具は、その部品化などを「楽にする」ために生まれた。土台の続き。
- シンプルな「見せるサイト」なら、横文字はどれも今すぐには要らない。
- 小さく始めて、必要になったら1個ずつ足せばいい。
STEP 5
世界に公開する
自分のPCの中のページを、誰でも見られるURLにする
今はまだ、あなたのPCの中だけ
ここまで作った index.html。ダブルクリックすれば表示されますが、それはあなたのパソコンの中だけの話。友だちに「見て!」とURLを送ることは、まだできません。人に見せるには、「ネット上の"棚"にファイルを置く」必要があります。この「棚に置いて、誰でも見られるようにする」ことを公開(デプロイ)と呼びます。
🚀 公開の流れ(イメージ)
難しそうに聞こえますが、いまは「フォルダをドラッグ&ドロップするだけ」で公開できるサービスが、いくつも無料であります。代表的なのはこのあたり。どれも個人サイトなら無料で始められます。
| サービス | ひとこと |
|---|---|
| Netlify(ネトリファイ) | フォルダをドロップするだけ。初心者にやさしい定番 |
| Cloudflare Pages(クラウドフレア) | 速くて、無料枠が大きい |
| Vercel(ヴァーセル) | 横文字の道具(Next.js等)を使うとき特に楽 |
「住所」に、好きな名前をつける
公開すると mofu-cafe.pages.dev のようなURLがもらえますが、「自分のお店らしい名前にしたい」と思うはず。そこでドメイン——サイトの"住所の名前"——を用意します。mofu-cafe.com のような、覚えやすい名前です。
ドメインは年に1,000〜2,000円ほどで、好きな名前を借りられます(早い者勝ち)。借りた名前を、さっきの公開サービスに「この住所を使ってね」とつなぐ。これで、あなたのお店の正式なURLの完成です。
「保存」とか「Git」って言葉も聞くけど、公開と何が違うの?
よく一緒に出てくるので、ひとことだけ。Git(ギット)/GitHub(ギットハブ)=作ったファイルを、履歴付きで保管しておく"クラウドの保管庫"です。「昨日の状態に戻す」が一瞬でできる、タイムマシン付きの保存場所。多くの公開サービスは、この保管庫と連携して「保管庫を更新したら、自動で公開もされる」ようにできます。最初は「保存する場所(GitHub)」と「見せる場所(公開サービス)」がある、とだけ知っておけば十分です。
- 作ったページは、公開サービスに預けて初めて「URLで誰でも見られる」ようになる。
- Netlify・Cloudflare Pages・Vercel などで、無料で公開できる。
- ドメイン=サイトの"住所の名前"。好きな名前を年額で借りられる。
- Git/GitHub=履歴付きの保管庫。公開サービスと連携すると自動公開もできる。
APPENDIX 付録
用語ミニ辞典 ― 気になった横文字だけ、ここで
全部読む必要はありません。会話や記事で出会って「何だっけ?」と思った時の早見帳です
よく聞く横文字を、1〜2行で
STEP4で話した通り、これらは今すぐ覚えなくて大丈夫。でも「聞いたことはあるけど何?」を放っておくのも気持ち悪いもの。ここは辞書として、気になった言葉だけ引いてください。全部、STEP1〜3の土台の"続き"です。
① 部品を作る道具(STEP4のなかま)
部品(コンポーネント)を作って使い回すのを楽にする、世界一の人気道具。「データを変えたら画面が自動でついてくる」のが売り。迷ったらこれ。
Reactのライバルたち。やることは同じ(部品化+自動更新)で、書き味や速さの好みが違うだけ。Vueはやさしい、Svelteは軽い、が特徴。
Reactで使う書き方で、「JavaScriptの中に、HTMLそっくりの見た目を直接書ける」もの。中身はJavaScript。HTMLの顔をしたJS。
名前を付けて使い回す、画面の部品。ボタンもカードもページも、全部これ。1か所直せば使っている全部に反映される(=STEP4の主役)。
Reactで「画面が覚えておく値(例:カートの数)」を扱う道具。値が変わると画面が自動で描き直される。useMemoなどの仲間をまとめて「フック」と呼ぶ。
Reactが画面を速く更新するための工夫。頭の中に画面の"下書き"を持ち、前の下書きと見比べて「変わった所だけ」本物を書き換える。
② 組み立て・表示のしかた
部品を集めて「サイト全部」に組み立てる、ひとつ上の道具。Nextは本格アプリ向け(重厚)、Astroは見せるサイト向け(軽い)。
「いつ・どこでHTMLを作るか」の方式。SSG=前もって作り置き(速い・安い、見せるサイト向け)、SSR=サーバーが毎回作る、CSR=客のスマホが作る。
Nextなど最新の仕組み。「動かない部品はサーバーで先に作り、動く部品(ボタン等)だけブラウザで動かす」という部品ごとの役割分け。入門では飛ばしてOK。
③ 見た目(CSSのなかま)
CSSを手早く書く方式。px-4(左右の余白)のような短い"あだ名"をHTMLに直接貼っていく。1個ずつはただのCSSの略語。
どちらもCSSの書き方の進化版。Sassは書くのを楽に、CSS Modulesは「名前のぶつかり事故」を自動で防ぐ。小さいサイトなら素のCSSで十分。
ボタンやカレンダーなど、よく使う部品の"詰め合わせ"。MUIなどは見た目つき。shadcn/uiは「部品を自分のフォルダにコピーして自分の物にする」新しい配り方。
大きなアプリで、値があちこちに散らばって手に負えなくなった時の"整理棚"。見せるサイトには要らない。今から選ぶなら軽いZustandが無難。
④ 裏方の道具(ふつう自動で動く)
書いたコードを、ブラウザが読める形に「変換&圧縮」する裏方。今の主役はVite(速い)。ふつうは意識せず自動で動く。
npm=他人が作った部品をネットから揃える"買い出し係"。node_modules=集めた部品が詰まる倉庫(芋づる式に増えるので重い)。まずnpmで十分。
JavaScriptに「この値は数字」「これは文字」という"型のメモ"を足せるもの。書いてる最中の間違いを赤線で教えてくれる。動く前に消える。
コードを直すたび「壊れてない?」を機械に自動確認させる仕組み。個人の小さいサイトは、まず"自分で実機で見る"で十分。
Prettier=コードの見た目を自動で整える係、ESLint=中身の問題を指摘する係、Biome=両方を1つでやる新型。セミコロン論争は「揃えて自動化」で終わり。
⑤ 安全・公開まわり
デプロイ=サイトを公開すること(STEP5)。サーバーレス=「サーバーが無い」ではなく「あなたが管理しなくていい」。裏でサーバーは動いている。
ログイン後も「同じ人だ」と証明し続ける仕組み。「Googleでログイン」はOAuth。自作せず、既製のログインサービスに任せるのが今の正解。
CORS=別サイトのデータを勝手に取るのを止める"味方の門番"。XSS/CSRFはWeb攻撃の二大巨頭で、主に「投稿を扱うアプリ」が狙われる。見せるサイトは対象になりにくい。
APIキーなどの秘密を、コードの外のメモ帳に隔離する仕組み。本物の鍵は公開の保管庫に上げない。PUBLIC_等の印が付いた物だけブラウザに出る。
一度読んだ物を"手元に取っておいて"次回速く出す仕組み。普段は味方だが、更新後に古い画面が出る原因にも。困ったら「スーパーリロード」(Ctrl/⌘+Shift+R)。
闇じゃありません。部品の中に作る「外から見た目が干渉されない、独立した隠し部屋」。YouTube等の埋め込みが、あなたのデザインと喧嘩しないのはこのおかげ。
ここまでで、あなたは「作れる人」です
おつかれさまでした。あなたはもう、Webページをゼロから作って、公開するまでの全体を、いちど通り抜けました。最初は「天才の世界」に見えたコードが、今は「決まった書き方のお願い」に見えているはずです。最後に、大事なことを3つだけ。
① あなたの最初の直感は、正しかった。「HTMLを書いて、CSSを当てて、ボタンで動く」——それがWebページの土台のすべてでした。世の中の難しそうな横文字は、全部その"続き"にすぎません。土台に立てたあなたは、もう入り口の中にいます。
② 正解は1つじゃない。だから、怒られない。「どれを選べば正解?」に、唯一の答えはありません。あるのは「この場面ならこれが無難」という相場だけ。どれを選んでも動くし、あとから乗り換えもできます。こわがらなくて大丈夫。
③ 小さく始めて、必要になったら1個ずつ足す。横文字を全部覚えてから作り始める人はいません。順番は逆で、まず小さく作る → 困った時に、それを解決する道具を1個だけ覚える。この本の付録「用語ミニ辞典」は、その"困った時"のためにあります。
つまずいたのは、あなたの頭のせいではありません。ただ、業界が名前を増やしすぎただけ。その名前たちは、もう全部、あなたが今日つくった土台の上に居場所があります。
次の一歩は、たった1つ
この本を閉じたら、ぜひもう一度メモ帳を開いて、自分のことを1ページ作ってみてください。自己紹介でも、好きなお店の紹介でも、なんでもいい。STEP1〜3をなぞるだけで、あなただけのページが1枚できます。読むより、作る。作りながら、わかる。それが、この道のいちばんの近道です。
ようこそ、Webを作る側へ。ここから先は、あなたのペースで。
💾 このページは ⌘ / Ctrl + P で「印刷 → PDFで保存」できます。ブックマークに入れておけば、いつでも見返せます。