1
0
Fork
You've already forked axiom
0
Browser engine
  • Zig 99.5%
  • HTML 0.4%
  • CSS 0.1%
Find a file
Arnau Camprubí 0f65af0e23
All checks were successful
/ Build and test (push) Successful in 4m1s
Single-process browser shell
Before this commit, the browser shell had a "browser" process with
multiple "view" children processes (one per tab). This is a good
approach for a real browser, since process isolation allows the browser
to use process security features in the kernel. However, I've come to
the conclusion that, for now, it's best to switch to a single-process
shell. The main reasons are:
- The goal of this project is (at least for now) to create a good
 browser engine, not a browser shell. The existence of such a thing in
 the project is only for the purposes of testing the engine. Thus, it
 makes sense to choose simplicity over security.
- Since axiom is still in a very early development stage, debuggability
 is a very important thing, and having multiple process made debugging
 harder. Crashes, memory leak detection, etc.
- With the previous browser shell implementation, you needed to update
 the IPC protocol data structures often, which is one more thing to
 keep in mind when adding new features
- Being a single process, tracing is much easier, which will hopefully
 allow for heavy optimization of the engine
- It makes things easier (or faster) to implement by sacrificing purity
 on the shell, which again, is not the current goal of this project.
Overall, while being a "bad" choice for a real browser shell, I think
this is the right way to do it for this project.
2026年06月22日 17:04:53 +02:00
.forgejo/workflows Forgejo actions 2026年01月15日 14:19:11 +01:00
src Single-process browser shell 2026年06月22日 17:04:53 +02:00
.gitignore Zig 0.16.0 2026年05月28日 19:06:44 +02:00
build.zig Use SDL3 2026年06月16日 03:09:11 +02:00
build.zig.zon Use SDL3 2026年06月16日 03:09:11 +02:00