探索新的 `servo` crate
摘要
Servo 浏览器引擎现在作为一个可嵌入的 Rust crate (v0.1.0) 可用,使开发者能够将网页渲染能力集成到 Rust 应用中。一个新的 CLI 工具 `servo-shot` 展示了其使用基于软件渲染管线将网页渲染为 PNG 的能力。
暂无内容
查看缓存全文
缓存时间: 2026/04/20 08:28
# 研究:探索新的 `servo` crate
来源:https://simonwillison.net/2026/Apr/13/servo-crate-exploration/
研究:探索新的 `servo` crate(https://github.com/simonw/research/tree/main/servo-crate-exploration#readme)——在 2026 年 4 月发布 `servo` v0.1.0 crate(博客文章)之后,一份简洁的研究显示,Servo 现在是一个可嵌入的 Rust 浏览器引擎,具有清晰的 API,围绕 `ServoBuilder`、`WebView` 和像素读取方法构建。一个无头 CLI 工具(`servo-shot`)可以成功地将 URL 或 HTML 文件渲染为 PNG,基于稳定版 Rust 构建,并拥有强大的软件渲染管线。
Servo 现已可在 crates.io 上获取(https://servo.org/blog/2026/04/13/servo-0.1.0-release/),Servo 团队宣布了 `servo` crate(https://crates.io/crates/servo)的初始版本,该 crate 将其浏览器引擎打包成一个可嵌入的库。
我让 Claude Code 承担这个任务(https://github.com/simonw/research/pull/108),任务是弄清楚它能做什么,构建一个使用它的 CLI 截图工具,并研究它能否被编译为 WebAssembly。
`servo-shot` Rust 工具运行得相当不错:
``
git clone https://github.com/simonw/research
cd research/servo-crate-exploration/servo-shot
cargo build
./target/debug/servo-shot https://news.ycombinator.com/
``
以下是结果:
一张精确渲染的 Hacker News 首页截图
由于 Servo 大量使用线程和依赖项(如 SpiderMonkey),将其本身编译为 WebAssembly 并不可行,但 Claude 确实构建了这个游乐场页面(https://simonw.github.io/research/servo-crate-exploration/html5ever-wasm-demo/www/),用于尝试 WebAssembly 构建的 `html5ever` 和 `markup5ever_rcdom` crate,提供了一个将 HTML 片段转换为解析树的工具。
相似文章
Servo 五月动态:用户脚本、MP4 兼容、DevTools 黑盒化等
Servo 0.3.0 发布,包含 391 次提交,新增字体功能、无需快速启动的 MP4 支持、新的 DOM API 以及 DevTools 黑盒化等改进。
June in Servo: real world compat, media queries, SharedWorker, and more
Servo's June 2026 progress report highlights a record 558 commits, new CSS media query features, SharedWorker support, and other web platform improvements in version 0.4.0.
四月在Servo:全新Android UI、焦点、表单、安全修复等
Servo浏览器引擎发布了0.2.0版本,包含534次提交,新增了全新Android UI、web平台特性如<select multiple>、<template>、color-mix()、tab-size、安全修复以及新的DOM API。
@kanewang_: 介绍 Takumi v2 beta,一个用 Rust 编写的引擎,能在无头浏览器的情况下将 JSX 渲染为图像。 - renderSvg() 用于 SV…
介绍 Takumi v2 beta,一个用 Rust 编写的引擎,无需无头浏览器即可将 JSX 渲染为图像,新增 SVG 输出、按需 Google Fonts、语言感知文本处理以及改进的字体缓存。
@thisguyknowsai:这就是 GitHub 为何无敌……一位开发者构建了一款让 Chrome 显得臃肿的无头浏览器。它叫 Obsc…
一位开发者使用 Rust 构建了名为 Obscura 的开源无头浏览器引擎,专为 AI Agent、网页爬取和自动化设计,声称其比 Chrome 更加轻量。