BuildABrowser is a project aiming to build a browser and its rendering engine in Java, and then document it such that others can rebuild it for themselves.
Jump to Screenshots | View on YouTubeThe Linux/Window builds require a JVM (Java 24 or higher) - I will publish an experimental Graal build later, but Graal didn't work very well in my testing. For systems not listed, it may be possible (untested) to download the Linux build and pass the --use-java2d flag.
Learn more about BuildABrowser. Initialize your repository.
Open a window with text loaded from a file or server, using a URL passed via the command-line.
Get a feel for the browser DOM, creating a basic tree that will suffice for some basic HTML parsing.
Learn how an HTML parser uses a state machine to convert HTML to a DOM.