Servo's progress in 2024
Servo and JavaScript Engines
- Some readers initially conflated Servo (a rendering engine) with JavaScript engines like V8.
- Others clarified that Servo uses SpiderMonkey, and that there are multiple “serious” JS engines besides V8: SpiderMonkey, JavaScriptCore, LibJS, QuickJS, Kiesel, Hermes, etc.
- Several comments stressed that JS engines are largely orthogonal to the complexity and value of a rendering engine like Servo.
Web Platform Tests, Percentages, and Standards
- People cited wpt.fyi: Chrome ~96.8%, Firefox ~95.4%, Safari ~95.0%, Ladybird ~89.3%, Servo ~78.6%.
- Multiple replies argued raw percentages are misleading:
- A huge share of tests are “easy” text-encoding tests (especially for Asian encodings). Removing those puts Ladybird closer to ~60% and Servo ~50% of the remaining suite.
- Some tests target non-standard Blink-only APIs (e.g., WebUSB, WebNFC) that other vendors intentionally will not implement on security/privacy grounds.
- There was debate over what “web compatibility” means:
- One side: the web is a de facto platform defined by what major browsers ship.
- The other: web standards require cross-vendor consensus and at least two independent implementations; Google APIs alone don’t qualify.
Browser Engine Lineage and Market Power
- Discussion of how KHTML evolved into WebKit and then Blink, with Chrome, Safari, Edge, and Opera all ultimately deriving from KDE’s engine.
- Some noted that by the time Microsoft adopted Blink, almost all original KHTML code was gone (“Ship of Theseus”).
- Concern about Chrome/Blink’s growing de facto control, and comparisons to the IE era, but with the caveat that Safari/Firefox still constrain developers somewhat.
Servo’s History and Relationship to Firefox
- People recalled that the original Mozilla Servo effort was a Rust testbed: find Rust pain points and upstream components into Firefox (Stylo/Quantum CSS, WebRender, etc.), not necessarily ship a full browser.
- There was a multi-year hiatus after Mozilla’s 2020 layoffs, with activity restarting around 2023 under new funding.
- Current Servo pulls in upgraded SpiderMonkey, Stylo, and WebRender, with some two-way syncing of shared components between Servo and Firefox.
Who Uses Servo and Potential “Killer Apps”
- Existing uses include:
- Standalone browsers like Verso.
- Firefox using Servo-derived components internally for styling and rendering.
- Proposed high-value niches:
- A mobile-first browser for Linux phone distros (postmarketOS, Mobian), where current Firefox/Chrome UX is poor on small touch screens.
- An embeddable, cross-platform UI engine (Electron/CEF-style) that targets a modern, performant subset of the web platform rather than full legacy web compatibility.
- Possible future replacement backend for frameworks that currently embed Chromium, though it’s unclear if Chromium embedding compatibility is still an explicit Servo goal.
Embedded Engines, Electron, and Alternative GUI Stacks
- Strong interest in using browser engines as the basis for desktop and embedded app UIs:
- Pro-HTML side: engines are powerful, ubiquitous, cross-platform; flexbox/grid and rich text layout are hard to beat.
- Skeptical side: HTML/CSS is an accidental, messy UI stack; basic widgets remain hard to style sanely; a cleaner framework atop a small subset (possibly WebGPU-driven) is preferred.
- Electron was described as both:
- Hugely successful in practice (many enterprise/productivity apps, “took the world by storm”).
- Resource-hungry and unpopular with power users (RAM, disk, battery, multiple bundled Chromiums, non-native UX).
- Alternatives discussed:
- Using OS webviews via frameworks like Tauri and Wails: smaller binaries, but inconsistent startup performance and still high memory usage; dependent on platform webview quirks.
- Other GUI stacks: Qt/QML, Avalonia, Sciter, NoesisGUI, .NET MAUI, XAML-based systems, Java UIs; opinions differ on their quality vs web tech.
- Some suggested a “subset web” engine (like an unrealized Chromium project “Razor”) that drops quirks mode and legacy layout features to enable 120fps-style performance for app UIs.
- Apple’s iOS restrictions (WebKit-only engines for non–EU contexts) were noted as a major limit on embedded browsers and alternative engines.
Headless and Agentic Browsing
- People connected Servo’s progress to AI/agentic workflows that need programmatic browsing.
- Headless engines like Lightpanda were mentioned as aiming to skip graphical rendering for speed and low resource use.
- There was curiosity about whether skipping rendering but still doing layout/style is enough, and how often missing layout information breaks real-world sites.
Timelines and Difficulty of “Last Miles”
- “Last 5% is 90% of the work” was frequently invoked: the easy tests are mostly done; remaining web features are harder and more complex.
- Some tests may never be implemented by design (non-standard or rejected APIs), and new tests are constantly added, so 100% coverage is both moving and partially unattainable.
- For related projects like Ladybird, a target of around 2026 for a first user-facing release was mentioned; no firm equivalent date was given for a fully “production-ready” Servo browser.