News for hackers. Stuff that matters.
Re:Blitz: A lightweight, modular, extensible web renderer by the_duke on Monday August 12, 2024 @05:10AM (#41222580)
Out of cursiosity, what's the motivation of combining a bunch of different components yourself over building on something like Servo or webkit?
Re:Blitz: A lightweight, modular, extensible web renderer by nicoburns on Monday August 12, 2024 @07:58AM (#41223446)
1. Projects like Webkit are intimidating from both a codebase size and a commit frequency POV. We don't have the expertise or the engineering bandwidth to maintain such a solution.

2. We hope that by building a modular solution we might be able to lower the barrier to entry for building browser-like software.

3. We're a lot smaller. Servo is 100mb+. Blitz is 20mb out of the box. Potentially as small as 3.5 mb with optimizations.

4. We want to be a lot more customizable. Want to add your own layout algorithms? Image formats? Build your own native widgets with custom painting and accessibility? Fit into your existing render backend? Then we want that to be possible. Don't want SVG support? or AVIF support? Or network support? Or Float support? Then you should be able to disable it and not pay the cost for it.

5. We want our components to be usable in other contexts. For example Taffy, our layout library is used in several GUI frameworks. Many of our other dependencies are also generally usable.

Re:Blitz: A lightweight, modular, extensible web renderer by rapsey on Monday August 12, 2024 @05:16AM (#41222606)
You can't remove the JavaScript engine from Servo.
Re:Blitz: A lightweight, modular, extensible web renderer by mkl on Monday August 12, 2024 @06:17AM (#41222918)
Why would that be? It seems quite unlikely to me.
Re:Blitz: A lightweight, modular, extensible web renderer by nicoburns on Monday August 12, 2024 @07:31AM (#41223305)
It uses the GC from the JS engine for it's entire DOM implementation which definitely makes it tricky. There are also some other bits you'd probably want to rip out like gstreamer for media support.

We looked at using Servo's layout support. But it isn't really designed to be used standalone (although it could be if that was prioritized!). And we'll probably add a Webrender rendering backend at some point (Blitz is designed to have pluggable renderers).

Re:Blitz: A lightweight, modular, extensible web renderer by rapsey on Monday August 12, 2024 @06:21AM (#41222939)
Because it is central. From what I understand the DOM is completely JS. Blitz is basically the project of removing JS from servo.