Abstract
私たちが毎日のように使っているWebブラウザ。その内部がどのような実装になっているか、考えたことのある人は少ないのではないでしょうか。僕もその一人でした。HTMLの解析やCSSの適用、ボタンをクリックした際に特定の挙動を実現するためにJavaScriptを実行するなど、普段当たり前と思っている機能を提供するために、ブラウザ内部では複雑な処理がいくつも組み合わせることで実現されています。
近年、Webブラウザを自作することでその仕組みを学ぶことができる書籍が発売されています。2026年にはPythonでのブラウザ作成の本も発売されました。こうした本を頼りに実際に手を動かしてみると「Webブラウザのこの機能って、こうやって実装されているのか!」「Pythonのこの機能で、ブラウザのこの機能が実現されているのか!」という学びや驚きの連続でした。例えばHTMLのツリー構造を読み取って実際にWebページにレンダリングさせるために再帰処理で実現する、スレッドやロックを使うことでブラウザの動作を制御するなど、これまでのPythonの知識と新しい知識を紐づけることでキャッチアップが非常にスムーズにできる実体験がありました。この経験を通してWebブラウザとPythonの双方の理解が深まり、Pythonという言語に改めて魅力を感じました。
本セッションでは、様々な書籍を参考に実際に私がPythonを用いてブラウザを開発して得られた知識や実体験を紹介します。このセッションを通して、ブラウザを自作するという切り口からPythonの柔軟さや豊富なエコシステムについて、Webブラウザの仕組みと紐付けながらお伝えします。
About the speaker
佐藤樹
Recustomer株式会社 / EM
山形県にある高専で電気電子工学を専攻した後、関東の中小SIerで受託開発で経験を積む。その後現職でフロントエンド・バックエンドの開発を担当。2024年からEMとしてチームマネジメントも担当。