Created by Mozilla Research in 2012 and now part of Linux Foundation Europe, the Servo project is an experimental rendering engine written in Rust. It combines memory safety and concurrency to create an independent, modular, and embeddable rendering engine that adheres to web standards. Stewardship ...
Created by Mozilla Research in 2012 and now part of Linux Foundation Europe, the Servo project is an experimental rendering engine written in Rust. It combines memory safety and concurrency to create an independent, modular, and embeddable rendering engine that adheres to web standards. Stewardship of Servo moved from Mozilla Research to the Linux Foundation in 2020, where its mission remains unchanged. After some slow years, in 2023 there has been renewed activity on the project, with a roadmap now focused on improving the engine’s CSS 2 conformance, exploring Android support, and making Servo a practical embeddable rendering engine. In this presentation, Rakhi Sharma reviews the status of the project, our recent developments in 2023, our collaboration with Tauri to make Servo an easy-to-use embeddable rendering engine, and our plans for the future to make Servo an alternative web rendering engine for the embedded devices industry.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://ossna2024.sched.com/event/1aBNF/a-year-of-servo-reboot-where-are-we-now-rakhi-sharma-igalia
Size: 3 MB
Language: en
Added: May 02, 2024
Slides: 28 pages
Slide Content
The Embeddable, Independent, Memory-Safe,
Modular, Parallel Web Rendering Engine
Rakhi Sharma (She/her) [email protected]
About Me
Open Source Engineer working on Servo
Igalia Web Platform Team
Servo Technical Steering Committee (TSC)
member
atbrakhi on internet
What’s Servo?
Servo is
a web rendering engine
written in Rust,
with WebGL and WebGPU support,
and adaptable to desktop, mobile,
and embedded applications.
Servo’s Journey So Far
2012: Started at Mozilla
2020: Mozilla’s layoffs impacted the Servo team
2020: Joined Linux Foundation
2022: Talks about restarting Servo, but how?
2023: Team formed and restarted at Igalia
About Igalia
Open Source Consultancy founded in 2001
140 people, fully remote (25 countires)
Flat structure (cooperative like model)
Top contributors to Chromium, WebKit and
Gecko
Servo’s Restart Announcement
Servo In 2023
Restarted the Project/Maintainence/Outreach
Layout Engine, CSS2 Support
Built and
Embedding, Minibrowser
internal WPT Servo demos
Restarting Servo
2485 commits (+375% over 523 in 2022)
1037 pull requests (+382% over 215 in 2022)
53 unique contributors (+140% over 22 in 2022),
Choosing A Layout Engine
Layout 2013 (legacy) vs Layout2020 (started in
2020)
Moving forward with Layout2020
Servo Layout Engines Report
Layout: Support For Floats
Layout: Support For Tables
Layout: WPT For Tables
Layout: Many More
font fallback
<div align>, <center>, sticky positioning
text-align-last, text-align: justify, vertical-align
Migration from floating-point coordinates (f32)
to fixed-point coordinates (Au)
Embedding Servo
Start getting applications using Servo
Applications can use Servo to render web
content
Provide good API for embedders
Servo on embedded devices (e.g. Raspberry Pi)
Minibrowser
No-Minibrowser
Run servo with --no-minibrowser
Collaboration With Tauri
Thank you NLnet for sponsoring this collboration
Hello Tauri._
Dioxus (Stylo-Blitz)
Use Stylo for CSS styles and selectors matching
Servo inside Qt,
using KDAB’s CXX-
Qt library as
bridge
CXX-Qt is a safe
interop between
Rust and Qt
KDAB QT
Preliminary Android
build support
Servo running in
Android emulators
Support for x86_64
images
Servo On Android
Servo And Outreachy
Servo participated in Outreachy this year
Outreachy is a 3 month paid remote internship
program
Many new contributors during contribution
phase
Helping improve code health, layout and docs
Future Roadmap
Support Servo
https://opencollective.com/servo
https://github.com/sponsors/servo