結論A本書で触れなかった内容
これまでの16章で、Webブラウザの主要なコンポーネントについて、ネットワークリクエストからデータの安全な保存方法までしっかりと理解いただけたと思います。しかし、非常に広大なトピックであるため、いくつか省略せざるを得ませんでした。本書で取り上げていない最も重要な項目を、順不同で紹介します。
A.1 JavaScriptの実行
現代のWebブラウザの大部分は、非常に高性能なJavaScriptの実装です。今日、主要なブラウザはすべてJavaScriptを実行するだけでなく、実行時に型解析を用いて、その場で低レベルの機械語にコンパイルします。さらに、「隠れクラス(hidden class)」のような技術は、JavaScriptが提供しない構造を推論し、メモリ使用量とガベージコレクションの負荷を低減します。さらに、現代のブラウザはWebAssemblyも実行します。これは、多くのプログラミング言語からコンパイルできるハードウェアに依存しないバイトコード形式であり、いつの日かWeb上でJavaScriptと同等になるかもしれません。
本書では、JavaScriptエンジンの構築を省略し、代わりにDukPyを使用しています。この選択をしたのは、JavaScriptの実行は現代のブラウザの中心である一方で、Python、Lua、Javaといった他の言語の実行と非常に似た技術を使用しているためです。現代のJavaScriptエンジンの内部について学ぶ最善の方法は、プログラミング言語の実装に関する本を読むことです。
A.2 テキストとグラフィックスのレンダリング
テキストレンダリングは、表面的に見えるものよりもはるかに複雑です。文字は幅や高さが異なります。アクセントは文字の上に重ねる必要があるかもしれません。「合字( ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access