2. 作るもの・作らないもの — 本物との差を先に知っておく
このブラウザは「本物と同じ骨格を、仕様の名前のまま、動く最小の形で」作ります。逆に言うと、本物のブラウザの大部分は作りません。どこを削ったかを先に知っておくと、動かしたときの「あれ、効かない」を設計の限界として読めます。
作るもの: http の 、 の 1 回( と )、HTML のタグ・・script の中身の、html / head / body を補う、単純(型・クラス・ID・全称)の CSS、display / color / background-color / font-size / text-decoration / width / height の、 と の、文字のへの、JavaScript の変数・関数・足し算引き算・document.getElementById・・console.log。
作らないもの: 、リダイレクト、文字参照(& など)、コメントと の解釈、結合子つきのセレクタ(div p)、margin / padding / border / float / flex、本物のフォント計測、画像、イベントと、if / for / オブジェクト / 配列 / this / 例外、script の本物の実行タイミング、マルチプロセス、キャッシュ、。それぞれ「どのレッスンの、どの行を広げれば足せるか」はで触れます。
動かし方は 3 通りです。(1) 各レッスンの実行欄で「実行」を押す(サイトの実行は Rust 1.82、ネットワークは使えない)。(2) レッスン末尾の「1 ファイルで動く版」を保存して 2021 ファイル名.rs でコンパイルする。テストは rustc --edition 2021 で走る。(3) 完成版の zip を展開して / する。手元に Rust が無ければ rustup.rs の手順で rustc と が入ります。
開発のどこに活かすか: 「何を作らないか」を最初に書き出すのは、実務の設計書と同じです。作らないものを決めると、作るものの境界(入力の型・出力の型・失敗したときの振る舞い)がはっきりし、テストが書けるようになります。
点線の付いた語はタップすると説明が出ます。用語集を開く →
① 段ごとの「作る / 作らない」
右側は「難しいから省いた」のではなく、骨格を見せるのに要らないから省いています。骨格ができてから足すと、どこに足すかが分かります。