無料マンガ・ラノベなど、豊富なラインナップで100万冊以上配信中!
◆Rustで自作しブラウザの挙動を理解する◆
Webブラウザは、開発者にとってもユーザーにとっても、もはや日常の一部となっているほど身近なソフトウエアですが、近年のブラウザはあまりにも高機能かつ巨大になってしまったため、その仕組みを詳しく理解することは困難です。そこで、シンプルなブラウザをRustを用いて実装することによって、ブラウザ上でWebサイトを開くまでに何が起きているのかを理解することを目的とします。さらに、作成したブラウザを、別冊で解説・実装している自作OSの上で動かすことによって、ブラウザと更にその裏側を理解していきます。
■こんな方におすすめ
・普段からブラウザを使用していて、その裏側に少しでも興味を持っている方
■目次
第1章:ブラウザを知る──Webサイトを表示するアプリケーション
・ブラウザの役割❶──Webクライアントとしてのブラウザ
・ブラウザの役割❷──レンダリングエンジンとしてのブラウザ
・ブラウザの役割❸──JavaScriptエンジンとしてのブラウザ
・コアの役割を支えるためのさらなる機能
・マルチプロセスアーキテクチャ
・ブラウザのセキュリティ対策
・本書のゴール・注意点
第2章:URLを分解する──リソースを指定する住所
・URLとは
・URLの構文解析の実装
・ユニットテストによる動作確認
第3章:HTTPを実装する──ネットワーク通信を支える約束事
・HTTPとは
・HTTPクライアントの実装
・ユニットテストによる動作確認
・WasabiOS上で動かす
第4章:HTMLを解析する──HTMLからDOMツリーへの変換
・HTMLとは
・HTMLの字句解析──トークン列の生成
・ユニットテストによる字句解析の動作確認
・HTMLの構文解析──ツリーの構築
・ユニットテストによる構文解析の動作確認
・WasabiOS上で動かす
第5章:CSSで装飾する──CSSOMとレイアウトツリーの構築
・CSSとは
・CSSの字句解析──トークン列の生成
・ユニットテストによる字句解析の動作確認
・CSSの構文解析──CSSOMの構築
・ユニットテストによる構文解析の動作確認
・レイアウトツリーの構築
・ユニットテストによるレイアウトの動作確認
・GUI描画のための準備
第6章:GUIを実装する──ユーザーとのやりとり
・GUIとは
・GUIアプリケーションのウィンドウの作成
・ユーザーの入力を取得
・アドレスバーからナビゲーション
・ページの内容の描画
・リンククリックでナビゲーション
第7章:JavaScriptを動かす──ページの動的な変更
・JavaScriptとは
・JavaScriptの加算/減算の実装
・JavaScriptの変数の実装
・JavaScriptの関数呼び出しの実装
・ブラウザAPIの追加
・WasabiOS上で動かす
■著者プロフィール
土井麻未:名古屋市立大学芸術工学部でデザインを学びながら、フロントエンド、バックエンドのウェブ開発を独学で学ぶ。名古屋大学大学院情報学研究科では、コンピュータを使って生命の謎に迫る人工生命の分野で研究。低レイヤーの分野に興味があり、趣味の時間でRISC-Vエミュレータを開発中。現在はGoogleでソフトウェアエンジニアとしてブラウザ開発に従事している。
※アプリの閲覧環境は最新バージョンのものです。
※アプリの閲覧環境は最新バージョンのものです。