写経や車輪の再発明は勉強にもってこいだと思う。本書は、簡単なブラウザをイチから実装することで、ブラウザの仕組みを学ぶアプローチ。ブラウザを構成するレンダリングエンジン、JavaScriptエンジン、CSSエンジンをRustで実装する。ブラウザ API に GUIまで実装するので、必要最低限とはいえ GUI を持った立派なブラウザが出来上がる。
字句解析に構文解析と、どのエンジン実装でも途中までは同じような流れ。そこから先は当然違ってくる。JavaScriptならASTを評価して実行。DOMとCSSOMならレンダリングツリーを構築。GUIではレンダリングツリーを描画。DOMツリー構築したあと、レンダリングツリー構築のステップがあったのは勉強になった。Rust難しいけどなんとか読めた。シンプルなブラウザなら自分でも作れそうに思えてくる。C# でやってみるかな。
名前解決や通信はOSの機能を呼び出しているだけなので、ネットワークスタックを作るところも読みたかった。「[作って学ぶ]OSの仕組み」に説明を任せているが、肝心のその本はまだ世に出ていない。発売する順番が逆では。鋭意執筆中ということなので、2025年中にぜひ。発売されたら購入する。