layout | title |
---|---|
slides-new.html |
Servo |
Servo is a web rendering engine written in Rust, with WebGL and WebGPU support, and adaptable to desktop, mobile, and embedded applications.
- Website: servo.org
- Chat: servo.zulipchat.com
- Repository: github.com/servo/servo
- Email: [email protected]
- Independent, modular, embeddable Web rendering engine
- Written in Rust: memory safety & concurrency
- History:
- 2012-2020: Mozilla Research
- 2020-2023: Linux Foundation
- 2023-: Linux Foundation Europe
Note:
- Servo aims to provide an independent, modular, embeddable web rendering engine, allowing developers to deliver content and applications using web standards.
- Unlike the rest of web rendering engines, Servo is written in Rust, taking advantage of the memory safety properties and concurrency features of the language.
- History:
- Created by Mozilla Research in 2012, the Servo project is a research and development effort.
- Stewardship of Servo moved from Mozilla Research to the Linux Foundation in 2020, where its mission remains unchanged.
- June 2023 moved to LF Europe
- Speed (concurrency)
- Security (memory safety)
- API for embedders
- Cross-platform support (currently Windows, Mac, Linux)
- Modules (crates) can be used outside of Servo too (e.g. Stylo, WebRender, etc.)
- Vibrant ecosystem (Rust)
Q3'23
Q4'23
Q1'24
Q2'24
Project reactivation
Project maintenance and outreach
Project outreach
Main dependencies upgrade
Progress towards basic CSS2 support
Improve CSS support
Identify main areas of work to focus layout efforts in 2024
Explore Android support
Complete Android support
Embeddable web engine experiments
Demos
https://github.com/servo/servo/wiki/Roadmap
- Embedded devices that need a small, fast and secure Web view
- Simple embedded Web applications (controlled environment)
- Advanced Web features like WebGL, WebGPU, WebXR, etc.
- Use cases: kiosk mode applications, UI frameworks, ect.
Note:
- Servo is way smaller than the rest of web rendering engines and can be a potential alternatives for embedded devices that need a small, fast and secure Web view.
- Simple embedded Web applications that are run in a controlled environment (with a limited set of HTML & CSS features) can be run on Servo.
- Servo allows experimentation for new advanced Web features like WebGL, WebGPU, WebXR, etc. that can be showcased using Servo.
- Use cases:
- Kiosk mode applications: Some displays showing a single application fullscreen where the developer controls the whole application code and can decide how to implement things. That case could use Servo if it’s enough to cover the needs of such apps (e.g. a WebGL application, a WebGPU application, some simple HTML&CSS app, etc.).
- UI frameworks: There are different UI frameworks for developing applications on the Rust community (e.g. Dioxus, Tauri, etc.), that would be interested in having a Rust web rendering engine. These frameworks usually use different web components to define the UI, they have full control about how those components are written, and they could use Servo if they are supported.