4 ms·
The CSS engine just got replaced with a Rust implementation. Isn't that a sign that it is quite modular already?
by qznc 9y ago
The 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!