Project Description: Ladybird Web Browser
What is the project about?
Ladybird is a new, independent web browser built with a novel engine based on web standards. It's currently in a pre-alpha, developer-focused stage.
What problem does it solve?
It aims to provide a complete and usable browsing experience for the modern web, while offering a fresh, independent alternative in the browser landscape. It is designed with security in mind.
What are the features of the project?
- Multi-process architecture (UI, WebContent renderers, ImageDecoder, RequestServer).
- Out-of-process image decoding and network connections for enhanced security.
- Sandboxed renderer processes for each tab.
- Uses a set of libraries, many inherited from SerenityOS, for core functionalities like web rendering, JavaScript execution, cryptography, graphics, and more.
What are the technologies used in the project?
- LibWeb (Web rendering engine)
- LibJS (JavaScript engine)
- LibWasm (WebAssembly implementation)
- LibCrypto/LibTLS (Cryptography and TLS)
- LibHTTP (HTTP/1.1 client)
- LibGfx (2D Graphics, Image Decoding)
- LibUnicode (Unicode support)
- LibMedia (Audio/Video playback)
- LibCore (Event loop, OS abstraction)
- LibIPC (Inter-process communication)
- Runs on Linux, macOS, Windows (with WSL2), and other *Nixes.
What are the benefits of the project?
- Security: Multi-process architecture and sandboxing enhance security against malicious content.
- Independence: A novel engine and independent codebase offer an alternative to existing browser monopolies.
- Standards-based: Built on web standards for compatibility.
What are the use cases of the project?
- Currently, it's primarily for developers interested in contributing to or experimenting with a new browser engine.
- Eventually, it aims to be a general-purpose web browser for everyday use.
