Hacker News 中文摘要

RSS订阅

Servo本月动态:可变字体、网络工具与SVG -- This month in Servo: variable fonts, network tools, SVG

文章摘要

Servo项目9月取得显著进展,合并了447个拉取请求,重点实现了内联SVG元素渲染功能,改进了网页显示效果,同时完成了Outreachy实习生项目。该项目致力于为开发者提供轻量高效的网页技术嵌入方案。

文章总结

Servo 项目月度进展:可变字体、网络工具、SVG 等新特性

发布日期:2025年9月25日
项目目标:为开发者提供轻量级、高性能的嵌入式网页技术解决方案

核心亮点

  1. SVG 渲染支持

    • 实现了内联 SVG 元素渲染(@mukilan, @Loirooriol),显著提升如谷歌首页等网站显示效果
    • 示例:谷歌 Logo 实际为 SVG 元素
  2. CSS 网格布局增强

    • 支持命名网格线和区域功能(@nicoburns, @loirooriol),需通过 layout_grid_enabled 参数启用
  3. 可变字体支持

    • 全桌面平台实现 CSS font-variation-settings(@simonwuelker, @mrobinson)
    • 新增对 OpenType 集合文件(.ttc)的读取支持(@nicoburns)
    • 系统字体默认使用 Helvetica(@dpogue)
  4. 开发者工具升级

    • 新增网络监控面板(@uthmaniv, @jdm)
    • JS 调试器支持显示潜在断点(@delan, @atbrakhi)
    • 布局检查器优化未显示节点的可视化(@simonwuelker)
  5. 引擎稳定性提升

    • 修复异步命中测试导致的崩溃问题(@mrobinson 等),现改为同步线程操作

Web 平台支持

  • DOM & JS

    • 升级至 SpiderMonkey v140 引擎
    • 实现 Trusted Types API 核心功能(需通过 dom_trusted_types_enabled 启用)
    • IndexedDB 支持自动递增键和错误报告
    • 新增 CookieStore API 原型(@sebsebmc)
  • CSS 改进

    • 支持 CSS registerProperty() 方法注册自定义属性
    • 修复弹性盒布局中负交叉尺寸问题
    • 优化溢出计算逻辑

性能优化

  • 文档渲染帧率限制至 60 FPS
  • 动画图像减少不必要的帧计算
  • 内联样式表去重,显著降低表单密集型页面的内存占用
  • 精简 ICU 库节省 16MB 二进制体积

嵌入与部署

  • 确立最低 Rust 版本要求(1.85.0)
  • WebDriver 测试通过率提升至 80%
  • servoshell 新增标签页网站图标显示功能

社区与赞助

  • 月度捐赠额达 5552 美元(环比增长 18.3%)
  • 资金用于新增 CI 服务器和核心维护者 Josh Matthews 的工作支持
  • 15 个 GitHub 用户通过 thanks.dev 赞助依赖库开发

(注:原文中部分技术细节和贡献者列表已精简,完整信息可查看原始博客。)

评论总结

总结评论内容:

  1. 支持Servo浏览器引擎的观点(评论1、3)
  • 认为Servo能增加用户选择,抵抗Chrome的垄断:"It increases user browsing choice and resists Chrome's hegemony"(评论1)
  • 希望有新的赞助商接手开发:"It would be nice if some other sponsor would be found to pick it up"(评论3)
  1. 对Servo未来发展的设想(评论2、3)
  • 建议Firefox未来采用Servo:"Would be funny if Mozilla/Firefox would adopt Servo"(评论2)
  • 希望Brave浏览器能参与开发:"I would like to see Brave being more involved"(评论3)
  1. 对Servo项目性质的探讨(评论4)
  • 询问Servo是否属于全新开发项目:"To what extent is Servo a greenfield project?"(评论4)
  • 认为现在是参与的好时机:"It seems like a really exciting time to be involved"(评论4)