From an HTML viewer for the SerenityOS, it has grown into a cross-platform browser support Linux, macOS, and other Unix-like systems.
All of the open-source and privacy focused browser always catches my attention. I decided to take a look at this browser.
A completely new browser engine, along with others popular one like Blink, WebKit, Gecko.
Basic architecture
The browser use LibWeb and LibJS, which are very new engines.
Here’s a rough breakdown of the current stack:
- Ladybird: Tabbed browser GUI application
- LibWeb: Web engine, multiple standards: HTML, DOM, CSS, SVG, …
- LibJS: The ECMAScript language, runtime library, garbage collector
- LibGfx: 2D graphics, text rendering, image formats (PNG, JPG, GIF, …)
- LibRegex: Regular expression engine
- LibXML: XML parser
- LibWasm: WebAssembly parser and interpreter
- LibUnicode: Unicode support library
- LibTextCodec: Text encoding conversion library
- LibMarkdown: Markdown parser
- LibCore: Miscellaneous support functions (I/O, datetime, MIME data, …)
- Qt: Cross-platform GUI and networking
MacOS installation
Xcode 14 versions before 14.3 might crash while building ladybird. Xcode 14.3 or clang from homebrew may be required to successfully build ladybird.
To build using clang
from homebrew
:
This will take around 30 minutes to 1 hour to install all dependencies and start building, once done the next open will be fast.
Maturity
This is still in very early stage development, the app can load a website, that is a good thing. But the website is fully function and looking good? No, I don’t think so!
But the future is bright, i truly believe the creator and the community will turn this into the future of web browsing, where the “big” should be more respected towards user privacy.