Servo一个用Rust编写的Web浏览器渲染引擎

The Servo Parallel Browser Engine Project


Servo 是一个用 Rust 编写的 Web 浏览器渲染引擎,支持 WebGL 和 WebGPU,适用于桌面、移动和嵌入式应用程序。目前,它支持64 位 macOS、64 位 Linux、64 位 Windows、64 位 OpenHarmony 和 Android。

Servo 欢迎所有人的贡献。请查看:

Servo 开发的协调方式:

  • Github Issues
  • Servo Zulip
  • 视频通话:Servo Project 代码库中的宣传。

入门

有关更详细的构建说明,请参阅 Servo 手册中的 [设置环境]、[构建 Servo]、[Android 构建] 和 [OpenHarmony 构建]。

[设置环境]:https://book.servo.org/hacking/setting-up-your-environment.html
[构建 Servo]:https://book.servo.org/hacking/building-servo.html
[Android 构建]:https://book.servo.org/hacking/building-for-android.html
[OpenHarmony 构建]:https://book.servo.org/hacking/building-for-openharmony.html

macOS

  • 下载并安装 Xcodebrew
  • 安装 uvcurl -LsSf https://astral.sh/uv/install.sh | sh
  • 安装 rustupcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • 重启 shell 以确保 cargo 可用
  • 安装其他依赖项:./mach bootstrap
  • 构建 servoshell:./mach build

Linux

  • 安装 curl
    • Arch:sudo pacman -S --needed curl
    • Debian、Ubuntu:sudo apt install curl
    • Fedora:sudo dnf install curl
    • Gentoo:sudo emerge net-misc/curl
  • 安装 uvcurl -LsSf https://astral.sh/uv/install.sh | sh
  • 安装 rustupcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • 重启 shell 以确保 cargo 可用
  • 安装其他依赖项:./mach bootstrap
  • 构建 servoshell:./mach build

Windows

  • 下载 uvchocorustup
    • 请务必选择 通过 Visual Studio 社区安装程序快速安装
  • 在 Visual Studio 安装程序中,确保已安装以下组件:
    • Windows 10/11 SDK(版本 >= 10.0.19041.0) (Microsoft.VisualStudio.Component.Windows{10, 11}SDK.{>=19041})
    • MSVC v143 - VS 2022 C++ x64/x86 构建工具(最新版) (Microsoft.VisualStudio.Component.VC.Tools.x86.x64)
    • **C++适用于最新 v143 构建工具 (x86 和 x64) 的 ATL (Microsoft.VisualStudio.Component.VC.ATL)
    • 适用于最新 v143 构建工具 (x86 和 x64) 的 C++ MFC (Microsoft.VisualStudio.Component.VC.ATLMFC)
  • 重启 shell 以确保 cargo 可用
  • 安装其他依赖项:.\mach bootstrap
  • 构建 servoshell:.\mach build

Android

  • 确保已设置以下环境变量:
  • ANDROID_SDK_ROOT
  • ANDROID_NDK_ROOT: $ANDROID_SDK_ROOT/ndk/26.2.11394342/
    ANDROID_SDK_ROOT 可以是任意目录(例如 ~/android-sdk)。
    所有 Android 构建依赖项都将安装在此处。
  • 将最新版本的 Android 命令行工具 安装到
    $ANDROID_SDK_ROOT/cmdline-tools/latest
  • 运行以下命令安装所需组件:
shell 复制代码
sudo $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --install \
"build-tools;34.0.0" \
"emulator" \
"ndk;26.2.11394342" \
"platform-tools" \
"platforms;android-33" \
"system-images;android-33;google_apis;x86_64"
  • 请根据您正在构建的平台,按照上述说明操作。

OpenHarmony

  • 请根据您正在构建的平台,按照上述说明准备环境。
  • 根据目标发行版(例如,HarmonyOS NEXT 和纯 OpenHarmony),构建配置会略有不同。
  • 确保已设置以下环境变量
  • DEVECO_SDK_HOME(针对 HarmonyOS NEXT 时必需)
  • OHOS_BASE_SDK_HOME(针对 OpenHarmony 时必需)
  • OHOS_SDK_NATIVE(例如 ${DEVECO_SDK_HOME}/default/openharmony/native${OHOS_BASE_SDK_HOME}/${API_VERSION}/native
  • SERVO_OHOS_SIGNING_CONFIG:包含演示应用有效签名配置的 json 文件的路径。
  • 请参阅[OpenHarmony 构建]中的详细说明。
  • 可以通过将 --flavor=<default|harmonyos> 传递给 mach <build|package|install> 来修改目标发行版。

关于项目

Servo 旨在为开发人员提供一种轻量级、高性能的替代方案,以便在应用程序中嵌入 Web 技术。Servo 是一个用 Rust 语言编写的原型 Web 浏览器引擎,目前在 64 位 macOS、64 位 Linux、64 位 Windows、64 位 OpenHarmony 和 Android 上开发。
MPL-2.0
Rust
31,699
3266
500
2012-02-09
2025-10-12

增长趋势 - stars