3 ms·
I feel like there's a golden opportunity here to have things like Firefox be broken up into more independent parts. We've already seen this in the JS engine sp
by rtpg 9y ago
I feel like there's a golden opportunity here to have things like Firefox be broken up into more independent parts.
We've already seen this in the JS engine space, though it's still pretty hard to integrate alternate JS engines into browsers. Having more and more of the app broken up makes it _much_ easier for contributors to come in and for work to be shared.
We don't all need to write our own implementations of CSS style sharing, even if higher level strategies are different.
- qznc 9y agoThe CSS engine just got replaced with a Rust implementation. Isn't that a sign that it is quite modular already?
- gsnedders 9y agoThe CSS style side got replaced with a Rust implementation (that matches selectors and computes the used CSS value of each property for each node). The layout side is still all C++ (and Servo's implementation has nowhere near parity with what Gecko already has).
- metajack 9y agoThe CSS engine does not have a very modular boundary, because abstractions would kill the performance. It would not be very easy to use it in another browser. However, lots of pieces of the CSS engine are modular and published as their own crates, like rust-cssparser, rust-selectors, etc. Other Servo projects are more modular; WebRender in particular just has an IPC boundary with specific messages. Servo layout would probably be more like CSS than WebRender in terms of modularity. So it's not perfect, but we're trying very hard!
- kodablah 9y agoAgreed, I've been pounding the "embeddability" drum for FF for a while. I'd love to easily use pieces in my own projects.