Arix is a web browser engine written in Zig for the purpose of high performance and minimal memory usage.
The project currently includes:
- HTML parser
- CSS engine which include CSS parser, CSS matching, cascade, and computed styles
- Text decoding and a basic DOM
- Simple layout and painting
Arix is still under active development. Styling, layout, and painting are currently partial and incomplete. Networking and the JavaScript engine are not yet implemented.
zig build example:<name>See examples.
Tests cover HTML and CSS parsing, text decoding, DOM, styles, and block layout. HTML parser's behavior is tested against the html5lib test suite.
Build and run the test:
zig build testYou can add debug flag to show the debug informations.
Add -- [test_name] to filter tests.
For example:
zig build test --summary all -- tokenizerCompiled in ReleaseFast mode and run benchmarks:
zig build bench -- [--iterations N] FILE.html FILE.css ...or you can directly use commands in Makefile:
make bench_html/bench_cssSee CONTRIBUTING.md