servo/servo
GitHub: servo/servo
Servo 是一个用 Rust 编写的并行浏览器引擎,旨在为应用提供轻量、高性能的 Web 技术嵌入能力。
Stars: 35640 | Forks: 3492
# Servo 并行浏览器引擎项目
Servo 是一个使用 [Rust](https://github.com/rust-lang/rust) 语言编写的原型网页浏览器引擎。目前的开发平台包括 64 位 macOS、64 位 Linux、64 位 Windows、64 位 OpenHarmony 以及 Android。
Servo 欢迎所有人的贡献。欢迎查看:
- [Servo Book](https://book.servo.org) 获取文档
- [servo.org](https://servo.org/) 获取新闻和指南
Servo 开发的协调工作主要在以下渠道进行:
- 此处的 Github Issues
- [Servo Zulip](https://servo.zulipchat.com/)
- 在 [Servo Project](https://github.com/servo/project/issues) 仓库中公布的视频会议。
## 新手入门
有关更详细的构建说明,请参阅 Servo Book 中的 [Getting the Code] 和 [Building Servo]。
### macOS
- 下载并安装 [Xcode](https://developer.apple.com/xcode/) 和 [`brew`](https://brew.sh/)。
- 安装 `uv`:`curl -LsSf https://astral.sh/uv/install.sh | sh`
- 安装 `rustup`:`curl --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`
- 安装 `uv`:`curl -LsSf https://astral.sh/uv/install.sh | sh`
- 安装 `rustup`:`curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`
- 重启你的 shell 以确保 `cargo` 可用
- 安装其他依赖项:`./mach bootstrap`
- 构建 servoshell:`./mach build`
### Windows
- 下载 [`uv`](https://docs.astral.sh/uv/getting-started/installation/#standalone-installer)、[`choco`](https://chocolatey.org/install#individual) 和 [`rustup`](https://win.rustup.rs/)
- 务必选择 *通过 Visual Studio Community 安装程序快速安装*
- 在 Visual Studio Installer 中,确保已安装以下组件:
- **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`)
- **用于最新 v143 生成工具的 C++ ATL (x86 和 x64)** (`Microsoft.VisualStudio.Component.VC.ATL`)
- 重启你的 shell 以确保 `cargo` 可用
- 安装其他依赖项:`.\mach bootstrap`
- 构建 servoshell:`.\mach build`
### Android
- 确保设置了以下环境变量:
- `ANDROID_SDK_ROOT`
- `ANDROID_NDK_ROOT`:`$ANDROID_SDK_ROOT/ndk/28.2.13676358/`
`ANDROID_SDK_ROOT` 可以是任何目录(例如 `~/android-sdk`)。
所有的 Android 构建依赖项都将安装在该目录中。
- 将最新版本的 [Android command-line
tools](https://developer.android.com/studio#command-tools) 安装到
`$ANDROID_SDK_ROOT/cmdline-tools/latest`。
- 运行以下命令以安装必要的组件:
sudo $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --install \
"build-tools;34.0.0" \
"emulator" \
"ndk;28.2.13676358" \
"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 文件路径。
- 查看 [Building for OpenHarmony] 中的详细说明。
- 可以通过向 `mach ` 传递 `--flavor=` 来修改目标发行版。
标签:Android, Chromium替代, DNS解析, DSL, OpenHarmony, Rust, Rust语言, Servo, WebKit替代, Web引擎, Web渲染, 内核开发, 前端技术, 可视化界面, 图形处理, 嵌入式浏览器, 并行计算, 应用开发, 开源项目, 数据可视化, 浏览器引擎, 浏览器组件, 系统编程, 网络流量审计, 调试辅助, 通知系统, 通知系统