Remix.run Logo
HaloZero an hour ago

Are you effectively building a separate renderer outside of Webkit?

Just curious on your thoughts about how Webkit was architected then, I guess it's not a modular system where you can separate out things like "Localstorage" support?

nicoburns 42 minutes ago | parent [-]

> Are you effectively building a separate renderer outside of Webkit?

Yes, it's new engine separate to Webkit/Blink/Gecko/Servo/Ladybird/etc

> Just curious on your thoughts about how Webkit was architected then, I guess it's not a modular system where you can separate out things like "Localstorage" support?

Honestly, I'm not super-familiar with Webkit's architecture. It's a huge codebase, and it's also C++ which is always pretty intimidating. I believe Webkit is more modular than most of the others, but Blitz goes quite extreme into modularity:

- The core is not coupled to the HTML parser

- The core is not coupled to the networking

- The core is not coupled to the rendering backend

- The core is not coupled to the windowing/input layer

- The core is not coupled to the JS/scripting engine

- The style engine (Stylo - shared with Servo and Firefox) is mostly implemented as a library which can be used independently

- The layout engine is mostly implemented in two libraries which can be used independently of the rest of the engine (Taffy for Flexbox/Grid/Block layout and Parley for Text/Inline layout)

So, yes I'd hope that it will be possible to individually opt-in to features like localstorage (once we implement them), but it goes a bit further than that.