はじめてのWebサイト

はじめてのWebサイト

コードを1行も書いたことがなくても大丈夫。作りながら、わかる。

「コード」と聞くと、黒い画面にすごい文字が並ぶ天才の世界…に見えるかもしれません。でも、Webページ作りの入り口は、びっくりするほど素朴です。この本では、あなたと一緒に、まっさらな状態から小さなWebページを1枚つくります。むずかしい用語は、実際に手を動かして「あ、これのことか」と分かった順に、ひとつずつ出てきます。読むだけでもOK、一緒に打ってみるともっと楽しい。

▶ はじめる

対象:コード完全未経験の人 / STEP 0〜5 + 用語ミニ辞典 / 必要なもの:パソコンと、最初から入っている「メモ帳(テキストエディタ)」だけ

STEP 0

Webサイトは、何でできているの?

作り始める前に、たった1枚の地図だけ持っていきます

0-1

そもそも「コード」って何?

そぼくなギモン

コードって、天才が書くすごいものでしょ? わたしにも書けるの?

結論から言うと、書けます。コードとは、むずかしく言えば「コンピューターへの指示書」。やさしく言えば、「コンピューターにお願いごとを伝えるための、決まった書き方の文章」です。

わたしたちが友だちに「牛乳買ってきて」とお願いするように、コンピューターにも「ここに大きな文字で"こんにちは"と出して」とお願いします。ただ、コンピューターは日本語の空気を読んでくれないので、決まった書き方(=言語)で、きっちり伝える必要がある。その決まった書き方で書いた文章が「コード」です。それだけ。

だから、覚えることは「天才的なひらめき」ではなく、「お願いの書き方のルール」。九九や、料理のレシピの読み方を覚えるのと同じ種類の話です。怖くありません。

ここだけ コード=「コンピューターへのお願いを、決まった書き方で書いた文章」。ひらめきではなく、書き方のルールを覚えるだけ。
0-2

Webページは「3つの材料」でできている

いま見ているこの画面も、あなたが毎日見るどんなサイトも、煎じ詰めればたった3つの材料でできています。役割がきれいに分かれているので、まずこの3つだけ覚えれば、地図は完成です。

材料担当家でたとえると
HTML
エイチティーエムエル
骨組み・中身
(文字・画像・リンクが「ここにある」)
柱と、部屋の間取り
CSS
シーエスエス
見た目
(色・大きさ・余白・配置)
かべの色・かぐ・内装
JavaScript
ジャバスクリプト
動き
(押したら開く・さわると反応)
電気・自動ドア・スイッチ

順番にも意味があります。まず HTML で骨組みを作り、次に CSS で見た目を着せ、最後に必要なところだけ JavaScript で動かす。家を建てるのと同じで、柱(骨組み)が先、内装(見た目)が後、電気(動き)は仕上げ。この本もその順番——STEP1でHTML、STEP2でCSS、STEP3でJavaScript——で進みます。

そぼくなギモン

3つも言語を覚えるの…? 大変そう。

安心してください。この本では3つとも「さわりだけ」やります。1個ずつは、拍子抜けするほど簡単な1行から始めます。全部をマスターする必要はなく、「どれが何の担当か」が体でわかれば、それがいちばん大事な土台です。

0-3

「ブラウザ」という、材料を組み立てる係

もう一人だけ、登場人物を紹介します。ブラウザです。Chrome(クローム)、Safari(サファリ)、Edge(エッジ)——あなたが今このページを見るのに使っているアプリ、それがブラウザです。

ブラウザの仕事は、「あなたが書いた3つの材料(HTML・CSS・JS)を読んで、画面にちゃんと組み立てて表示する」こと。あなたは材料を用意する係、ブラウザはそれを料理して出す係。だから——

🧩 これから、あなたがやること

1. メモ帳に、HTMLを書く(材料をつくる) 2. それをブラウザで開く 3. ブラウザが読んで、ページとして表示してくれる!

この「書く → ブラウザで開く → 表示される」が、Webページ作りのすべての基本動作です。次のSTEP1で、さっそく本当にやってみます。

ここだけ Webページ=HTML(骨組み)・CSS(見た目)・JavaScript(動き)の3つ。ブラウザが、その3つを読んで画面に組み立てる係。作る順は「骨組み→見た目→動き」。
📁 STEP 0 でわかったこと
  • コード=「コンピューターへのお願いを、決まった書き方で書いた文章」。怖くない。
  • Webページは HTML・CSS・JavaScript の3つの材料でできている。
  • ブラウザが、その材料を読んで画面に表示する。
  • 作る順番は「骨組み(HTML)→見た目(CSS)→動き(JS)」。

STEP 1

文字を、画面に出してみる(HTML)

いちばん最初の一歩。ここで「できた!」を体験します

1-1

まず、本当に画面に文字を出す

説明より先に、成功体験を1つ。次のたった1行が、あなたの最初のWebページです。やってみましょう(読むだけでもOK)。

🧩 やってみよう
  1. パソコンに最初から入っている「メモ帳」(Macなら「テキストエディット」)を開く。
  2. 下のコードを、そのまま打つ(コピペでもOK)。
  3. index.html という名前で保存する(.html が大事)。
  4. できたファイルをダブルクリック。ブラウザが開いて…表示されます!

📝 あなたが書くコード

<h1>はじめまして</h1>

🖥 ブラウザでこう表示される

index.html

はじめまして

↑ たった1行で、大きな見出しが画面に出ました。これがWebページの最初の一歩です。

おめでとうございます。もう「Webページを作ったことがある人」です。大げさではなく、ここからやることは全部、この1行に部品を足していくだけです。

1-2

「タグ」の正体 ― 文字をカッコではさむだけ

さっきの <h1></h1>。これをタグと呼びます。HTMLの9割はこのタグでできているので、ここだけ押さえれば大丈夫。仕組みはとても単純です。

🔖 タグは「はじまり」と「おわり」で、文字をはさむ

<h1> はじめまして </h1> ↑ ↑ はじまりのタグ おわりのタグ( / が付く) =「ここからここまでを、大きな見出し(h1)にして」というお願い

<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-3

部品を足して、1ページにしてみる

タグがわかれば、あとは足し算です。見出しの下に、文章・画像・リンクを並べてみましょう。上から書いた順に、上から表示されます。

📝 あなたが書くコード

<h1>ねこカフェ もふ</h1> <p>ゆっくり過ごせる、まちのカフェです。</p> <img src="neko.jpg"> <a href="tel:012">電話する</a>

🖥 ブラウザでこう表示される

index.html

ねこカフェ もふ

ゆっくり過ごせる、まちのカフェです。

🐈 neko.jpg

電話する

↑ 書いた順(見出し→文章→画像→リンク)に、そのまま縦に並びました。

これで、立派な1ページの完成です。中身(骨組み)はもうできました。でも…なんだか味気ないですよね。真っ黒な文字が、左に寄って並んでいるだけ。ここに色や大きさをつけて"お店の雰囲気"を出すのが、次のSTEP2「CSS」の役割です。

📁 STEP 1 でできたこと
  • メモ帳に書いて .html で保存 → ブラウザで開く、で本当にページが表示できた。
  • タグ=文字を <○○>〜</○○> ではさんで役割を付けるもの。
  • 見出し(h1)・文章(p)・画像(img)・リンク(a)を、上から順に並べれば1ページになる。
  • ただしHTMLだけだと「味気ない」。→ 次は見た目(CSS)。

STEP 2

見た目をつける(CSS)

味気ないページに、色・大きさ・余白で"雰囲気"を着せる

2-1

CSSの1行で、見た目は変わる

STEP1で作ったページは、真っ黒で左寄せの、そっけない見た目でした。CSSは、そこに「色はこれ」「文字はこの大きさ」「まん中に寄せて」と見た目の指示を足す役割です。まず、たった1行の効き目を見てください。

📝 CSSを1行足すと…

color: crimson; /* 文字の色を、赤に */

🖥 見出しの色が変わる

index.html

ねこカフェ もふ

color: crimson;(赤)と書いただけで、見出しの色が変わりました。

CSSの書き方は、いつもこの形です。日本語に訳すと、こう読めます。

h1 { color: crimson; } ↑ ↑ ↑ どこに 何を どうする =「見出し(h1)の、色を、赤にして」

「どこに { 何を: どうする; }」——この3点セットだけ。color(色)を font-size(文字の大きさ)や text-align: center(まん中に寄せる)に変えれば、いろんな見た目を指示できます。

そぼくなギモン

CSSって、どこに書くの? さっきのHTMLとは別なの?

いくつか方法がありますが、いちばん素直なのは「CSS専用のファイル(例:style.css)を作って、そこにまとめて書く」やり方。そしてHTML側に「この見た目ファイルも読んでね」と1行つなげます。骨組み(HTML)と見た目(CSS)をファイルごと分けておくと、後で見た目だけ直したいときに迷いません。

2-2

「クラス」で、狙った所だけ着せ替える

h1 { ... } と書くと、ページ中の見出し全部が同じ見た目になります。でも「この見出しだけ特別にしたい」ときもある。そこで登場するのがクラス——「印(ふだ)を付けて、その印の所だけ狙い撃ちする」仕組みです。

🏷 HTMLに印を付け、CSSでその印を狙う

<!-- HTML側:class="ふだの名前" で印を付ける --> <h1 class="title">ねこカフェ もふ</h1> /* CSS側:.ふだの名前 で、その印だけ狙う */ .title { color: sienna; text-align: center; }

CSS側で先頭に点 . を付けた .title は「title という印がある所だけ」という意味。これで、狙った部品だけを着せ替えられます。さあ、STEP1の味気ないページ全体に、CSSで"お店らしさ"を着せてみましょう。

📝 見た目をまとめて指示(CSS)

.card { text-align: center; background: #f3ece1; padding: 24px; /* 内側の余白 */ } .title { color: sienna; } .btn { background: sienna; color: white; padding: 10px 20px; }

🖥 ぐっとお店らしく

index.html

ねこカフェ もふ

ゆっくり過ごせる、まちのカフェです。

🐈 neko.jpg

電話する

↑ 中身(HTML)は STEP1 と同じ。CSSを着せただけで、雰囲気がまるで変わりました。

ここだけ CSS=「どこに { 何を: どうする; }」で見た目を指示。クラス(.名前)で、印を付けた所だけ狙い撃ちできる。中身はそのまま、見た目だけ着せ替えられる。
📁 STEP 2 でできたこと
  • CSSは「どこに { 何を: どうする; }」の3点セットで見た目を指示する。
  • color(色)、font-size(大きさ)、text-align(配置)、background(背景)などを指定できる。
  • クラス(.名前)で、狙った部品だけ着せ替えられる。
  • 骨組み(HTML)はそのまま、見た目(CSS)だけで雰囲気を作れる。

STEP 3

動かしてみる(JavaScript)

「押したら反応する」を、1個だけ作ってみる

3-1

ボタンを押したら、メッセージが出る

HTMLで骨組み、CSSで見た目。最後の材料JavaScript「動き」の担当です。「ボタンを押したら」「スクロールしたら」といったきっかけに反応して、画面を変化させます。まずは、いちばん基本の「押したら反応」を作ってみましょう。

📝 あなたが書くコード(考え方)

// ボタンが「押されたら」… ボタン.押されたとき = function() { // メッセージを表示する メッセージ.表示(); };

🖥 本当に押せます(押してみて!)

index.html

↑ このボタン、飾りではなく本当に動きます。押すと下にメッセージが出ます。これがJavaScriptの「動き」です。

やっていることは、たった2ステップ。①「押されたら」というきっかけを決める → ②そのとき何をするか(メッセージを出す)を書く。この「きっかけ → する事」の組み合わせが、JavaScriptの基本の形です。難しい記号は、慣れれば模様のように見えてきます。

そぼくなギモン

function とか、急にプログラミングっぽくて身構える…!

function(ファンクション)=「ひとまとまりの手順」のこと。「メッセージを出す」という一連の動きに名前を付けて、袋にまとめたもの、と思えばOK。中身が難しく見えても、やりたいことは"押したら、これして"の一言。最初は意味の8割がわかれば十分です。

3-2

動きは「盛りすぎ注意」 ― 少ないほど良い

JavaScriptは楽しくて、つい色々動かしたくなります。でも動きは、多いほど良いものではありません。むしろ逆で、必要な所にだけ、少しが上品で、しかも壊れにくい。

  • 動きが多いページは重くなり、スマホでカクつきやすい。
  • 過剰なアニメーションは、読み手を疲れさせる
  • 動く部分が増えるほど、壊れる可能性も増える。

だから、作る順番は「骨組み(HTML)→見た目(CSS)→必要なところだけ動き(JS)」。多くの美しいサイトは、実はJavaScriptをほとんど使っていません。「まず動かさない。どうしても要る所だけ、少し動かす」——これがプロの感覚です。

ここだけ JavaScript=「きっかけ(押す等)→ する事」で画面を動かす担当。ただし動きは"必要な所に少しだけ"。盛るほど重く・疲れる・壊れやすい。
📁 STEP 3 でできたこと
  • JavaScriptは「動き」担当。「きっかけ → する事」が基本の形。
  • ボタンを押したらメッセージを出す、という反応を作れた。
  • function=「ひとまとまりの手順」に名前を付けた袋。
  • 動きは"必要な所に少しだけ"が正解。盛りすぎない。
ここまでで、Webページの3つの材料(HTML・CSS・JavaScript)を全部さわりました。骨組みを作り、見た目を着せ、動きを1つ付けた。これがフロントエンドの"ぜんぶ"の土台です。次のSTEP4では、「じゃあ世の中の React とか Next とかいう横文字は何なの?」に、この体験の延長で答えます。

STEP 4

部品と、道具が増える理由

「React? Next?」——あの横文字たちが、なぜ生まれたのか

4-1

ページが増えると、コピペ地獄が始まる

STEP3までで、1ページは作れるようになりました。でも実際のサイトは、トップ・メニュー・お知らせ…と何ページもあります。そして、どのページの上にも同じロゴやメニューを出したい。すると、こんな問題が起きます。

😵 素朴なやり方(コピペ)

トップページ.html → メニューをコピペ お知らせ.html → メニューをコピペ アクセス.html → メニューをコピペ … ☠ メニューの色を1つ変えたい → 全ページを1個ずつ直す(地獄)

😊 部品にするやり方(コンポーネント)

メニュー部品(1個だけ作る) ↓ 各ページから「呼び出す」 トップ / お知らせ / アクセス … ✨ メニューの色を変えたい → 部品を1個直すだけで、 全ページに反映される!

↑ 同じ見た目を「1個の部品」にして使い回す。この部品がコンポーネントです。

コンポーネント=名前を付けて使い回す、画面の部品。ボタンも、メニューも、カードも、ページ全体も、大きさが違うだけで全部"部品"にできます。えらいのは賢いからではなく、「1か所直せば、使っている全部に反映される」から、人間が楽になる——ただそれだけです。

4-2

だから「道具(フレームワーク)」が生まれた

この「部品にして使い回す」を、素のHTML/CSS/JSだけでやろうとすると、実は結構めんどうです。そこで「部品化や、データと画面の連動を、楽にやってくれる道具」が生まれました。それが、あなたを怖がらせてきた横文字の正体です。

横文字ざっくり何者?
React / Vue / Svelte部品を作って使い回すのを、楽にする道具(3つは書き味ちがい)
Next.js / Astroその部品を集めて「サイト全部」に組み立てる、ひとつ上の道具
TailwindCSS(見た目)を、もっと手早く書くための書き方
npm他人が作った便利な部品を、ネットから取ってくる買い出し係

ポイントは1つ。これらは全部、STEP1〜3で作った土台の"続き"であって、別世界ではありません。「素のやり方だと大変なところ」を、道具が肩代わりしてくれる。それだけ。だから——

そぼくなギモン

結局、どれを覚えればいいの? 全部!?

いいえ。今は、ひとつも覚えなくて大丈夫です。お店・作品・ブログのような「見せるためのシンプルなサイト」なら、STEP1〜3の土台だけで作れます。横文字が必要になるのは、SNSやネットショップのような「たくさんの人が使う、複雑に動くアプリ」を作る段階から。小さく始めて、必要になった時に1個ずつ足す——これが唯一の正しい順路です。気になった言葉だけ、巻末の「用語ミニ辞典」をのぞいてください。

ここだけ 横文字の道具(React/Next/Tailwind…)は、STEP1〜3の土台の"続き"。「素のやり方だと大変なこと」を楽にするために生まれた。シンプルなサイトなら、今はどれも要らない。
📁 STEP 4 でわかったこと
  • ページが増えるとコピペ地獄 → 同じ見た目を「1個の部品」にして使い回す=コンポーネント。
  • 横文字の道具は、その部品化などを「楽にする」ために生まれた。土台の続き。
  • シンプルな「見せるサイト」なら、横文字はどれも今すぐには要らない。
  • 小さく始めて、必要になったら1個ずつ足せばいい。

STEP 5

世界に公開する

自分のPCの中のページを、誰でも見られるURLにする

5-1

今はまだ、あなたのPCの中だけ

ここまで作った index.html。ダブルクリックすれば表示されますが、それはあなたのパソコンの中だけの話。友だちに「見て!」とURLを送ることは、まだできません。人に見せるには、「ネット上の"棚"にファイルを置く」必要があります。この「棚に置いて、誰でも見られるようにする」ことを公開(デプロイ)と呼びます。

🚀 公開の流れ(イメージ)

① 自分のPCで index.html を作る(← いまここ) ↓ ② 公開サービス(無料)に、ファイルを預ける ↓ ③ URL がもらえる(例:https://mofu-cafe.pages.dev) ↓ ④ そのURLを送れば、世界中の誰でも見られる!

難しそうに聞こえますが、いまは「フォルダをドラッグ&ドロップするだけ」で公開できるサービスが、いくつも無料であります。代表的なのはこのあたり。どれも個人サイトなら無料で始められます。

サービスひとこと
Netlify(ネトリファイ)フォルダをドロップするだけ。初心者にやさしい定番
Cloudflare Pages(クラウドフレア)速くて、無料枠が大きい
Vercel(ヴァーセル)横文字の道具(Next.js等)を使うとき特に楽
5-2

「住所」に、好きな名前をつける

公開すると mofu-cafe.pages.dev のようなURLがもらえますが、「自分のお店らしい名前にしたい」と思うはず。そこでドメイン——サイトの"住所の名前"——を用意します。mofu-cafe.com のような、覚えやすい名前です。

ドメインは年に1,000〜2,000円ほどで、好きな名前を借りられます(早い者勝ち)。借りた名前を、さっきの公開サービスに「この住所を使ってね」とつなぐ。これで、あなたのお店の正式なURLの完成です。

そぼくなギモン

「保存」とか「Git」って言葉も聞くけど、公開と何が違うの?

よく一緒に出てくるので、ひとことだけ。Git(ギット)/GitHub(ギットハブ)=作ったファイルを、履歴付きで保管しておく"クラウドの保管庫"です。「昨日の状態に戻す」が一瞬でできる、タイムマシン付きの保存場所。多くの公開サービスは、この保管庫と連携して「保管庫を更新したら、自動で公開もされる」ようにできます。最初は「保存する場所(GitHub)」と「見せる場所(公開サービス)」がある、とだけ知っておけば十分です。

ここだけ 公開(デプロイ)=作ったファイルをネットの棚に置いて、URLで誰でも見られるようにすること。無料サービスでできる。ドメイン=好きな名前の"住所"。
📁 STEP 5 でわかったこと
  • 作ったページは、公開サービスに預けて初めて「URLで誰でも見られる」ようになる。
  • Netlify・Cloudflare Pages・Vercel などで、無料で公開できる。
  • ドメイン=サイトの"住所の名前"。好きな名前を年額で借りられる。
  • Git/GitHub=履歴付きの保管庫。公開サービスと連携すると自動公開もできる。

APPENDIX 付録

用語ミニ辞典 ― 気になった横文字だけ、ここで

全部読む必要はありません。会話や記事で出会って「何だっけ?」と思った時の早見帳です

辞典

よく聞く横文字を、1〜2行で

STEP4で話した通り、これらは今すぐ覚えなくて大丈夫。でも「聞いたことはあるけど何?」を放っておくのも気持ち悪いもの。ここは辞書として、気になった言葉だけ引いてください。全部、STEP1〜3の土台の"続き"です。

① 部品を作る道具(STEP4のなかま)

Reactリアクト

部品(コンポーネント)を作って使い回すのを楽にする、世界一の人気道具。「データを変えたら画面が自動でついてくる」のが売り。迷ったらこれ。

Vue / Svelte / Solidビュー/スベルト/ソリッド

Reactのライバルたち。やることは同じ(部品化+自動更新)で、書き味や速さの好みが違うだけ。Vueはやさしい、Svelteは軽い、が特徴。

JSXジェイエスエックス

Reactで使う書き方で、「JavaScriptの中に、HTMLそっくりの見た目を直接書ける」もの。中身はJavaScript。HTMLの顔をしたJS。

コンポーネント

名前を付けて使い回す、画面の部品。ボタンもカードもページも、全部これ。1か所直せば使っている全部に反映される(=STEP4の主役)。

useState / フックユーズステート

Reactで「画面が覚えておく値(例:カートの数)」を扱う道具。値が変わると画面が自動で描き直される。useMemoなどの仲間をまとめて「フック」と呼ぶ。

仮想DOMかそうドム

Reactが画面を速く更新するための工夫。頭の中に画面の"下書き"を持ち、前の下書きと見比べて「変わった所だけ」本物を書き換える。

② 組み立て・表示のしかた

Next.js / Nuxt / Astroネクスト/ナクスト/アストロ

部品を集めて「サイト全部」に組み立てる、ひとつ上の道具。Nextは本格アプリ向け(重厚)、Astroは見せるサイト向け(軽い)。

SSG / SSR / CSR

「いつ・どこでHTMLを作るか」の方式。SSG=前もって作り置き(速い・安い、見せるサイト向け)、SSR=サーバーが毎回作る、CSR=客のスマホが作る。

Server Components / "use client"

Nextなど最新の仕組み。「動かない部品はサーバーで先に作り、動く部品(ボタン等)だけブラウザで動かす」という部品ごとの役割分け。入門では飛ばしてOK。

③ 見た目(CSSのなかま)

Tailwindテイルウィンド

CSSを手早く書く方式。px-4(左右の余白)のような短い"あだ名"をHTMLに直接貼っていく。1個ずつはただのCSSの略語。

Sass / CSS Modules

どちらもCSSの書き方の進化版。Sassは書くのを楽に、CSS Modulesは「名前のぶつかり事故」を自動で防ぐ。小さいサイトなら素のCSSで十分。

UIライブラリ / shadcn/ui

ボタンやカレンダーなど、よく使う部品の"詰め合わせ"。MUIなどは見た目つき。shadcn/uiは「部品を自分のフォルダにコピーして自分の物にする」新しい配り方。

状態管理(Redux / Zustand)

大きなアプリで、値があちこちに散らばって手に負えなくなった時の"整理棚"。見せるサイトには要らない。今から選ぶなら軽いZustandが無難。

④ 裏方の道具(ふつう自動で動く)

ビルド / Vite / webpackヴィート/ウェブパック

書いたコードを、ブラウザが読める形に「変換&圧縮」する裏方。今の主役はVite(速い)。ふつうは意識せず自動で動く。

npm / node_modulesエヌピーエム

npm=他人が作った部品をネットから揃える"買い出し係"。node_modules=集めた部品が詰まる倉庫(芋づる式に増えるので重い)。まずnpmで十分。

TypeScriptタイプスクリプト

JavaScriptに「この値は数字」「これは文字」という"型のメモ"を足せるもの。書いてる最中の間違いを赤線で教えてくれる。動く前に消える。

テスト(Vitest / Playwright)

コードを直すたび「壊れてない?」を機械に自動確認させる仕組み。個人の小さいサイトは、まず"自分で実機で見る"で十分。

ESLint / Prettier / Biome

Prettier=コードの見た目を自動で整える係、ESLint=中身の問題を指摘する係、Biome=両方を1つでやる新型。セミコロン論争は「揃えて自動化」で終わり。

⑤ 安全・公開まわり

デプロイ / サーバーレス

デプロイ=サイトを公開すること(STEP5)。サーバーレス=「サーバーが無い」ではなく「あなたが管理しなくていい」。裏でサーバーは動いている。

認証(Cookie / JWT / OAuth)

ログイン後も「同じ人だ」と証明し続ける仕組み。「Googleでログイン」はOAuth。自作せず、既製のログインサービスに任せるのが今の正解。

CORS / XSS / CSRF

CORS=別サイトのデータを勝手に取るのを止める"味方の門番"。XSS/CSRFはWeb攻撃の二大巨頭で、主に「投稿を扱うアプリ」が狙われる。見せるサイトは対象になりにくい。

環境変数 / .env

APIキーなどの秘密を、コードの外のメモ帳に隔離する仕組み。本物の鍵は公開の保管庫に上げない。PUBLIC_等の印が付いた物だけブラウザに出る。

キャッシュ

一度読んだ物を"手元に取っておいて"次回速く出す仕組み。普段は味方だが、更新後に古い画面が出る原因にも。困ったら「スーパーリロード」(Ctrl/⌘+Shift+R)。

Shadow DOMシャドウ ドム

闇じゃありません。部品の中に作る「外から見た目が干渉されない、独立した隠し部屋」。YouTube等の埋め込みが、あなたのデザインと喧嘩しないのはこのおかげ。

おわりに

ここまでで、あなたは「作れる人」です

おつかれさまでした。あなたはもう、Webページをゼロから作って、公開するまでの全体を、いちど通り抜けました。最初は「天才の世界」に見えたコードが、今は「決まった書き方のお願い」に見えているはずです。最後に、大事なことを3つだけ。

① あなたの最初の直感は、正しかった。「HTMLを書いて、CSSを当てて、ボタンで動く」——それがWebページの土台のすべてでした。世の中の難しそうな横文字は、全部その"続き"にすぎません。土台に立てたあなたは、もう入り口の中にいます。

② 正解は1つじゃない。だから、怒られない。「どれを選べば正解?」に、唯一の答えはありません。あるのは「この場面ならこれが無難」という相場だけ。どれを選んでも動くし、あとから乗り換えもできます。こわがらなくて大丈夫。

③ 小さく始めて、必要になったら1個ずつ足す。横文字を全部覚えてから作り始める人はいません。順番は逆で、まず小さく作る → 困った時に、それを解決する道具を1個だけ覚える。この本の付録「用語ミニ辞典」は、その"困った時"のためにあります。

つまずいたのは、あなたの頭のせいではありません。ただ、業界が名前を増やしすぎただけ。その名前たちは、もう全部、あなたが今日つくった土台の上に居場所があります。

次の一歩は、たった1つ

この本を閉じたら、ぜひもう一度メモ帳を開いて、自分のことを1ページ作ってみてください。自己紹介でも、好きなお店の紹介でも、なんでもいい。STEP1〜3をなぞるだけで、あなただけのページが1枚できます。読むより、作る。作りながら、わかる。それが、この道のいちばんの近道です。

ようこそ、Webを作る側へ。ここから先は、あなたのペースで。

💾 このページは ⌘ / Ctrl + P で「印刷 → PDFで保存」できます。ブックマークに入れておけば、いつでも見返せます。