Guide · Documentation Index
GPUX 文档总览
使用 Rust 与 GPUI 构建全平台原生应用。一套代码编译到 macOS、Linux、Windows、iOS、Android、HarmonyOS NEXT、Web WASM 与小程序。
核心架构设计:为什么选择 GPUX?
GPUX 是面向全场景客户端工程的纯 Rust 跨平台应用框架,解决了传统混合框架在渲染开销、IPC 序列化延迟与多端碎片化上的根本痛点:
- GPUI 渲染管线:不经过 WebView 的 DOM/CSS 排版树,直接将声明式 Rust 视图编译为 GPU 着色器图元(Quads、Shadows、SDF Glyphs、Paths),冷启动首帧约 16ms。
- 零过程宏、进程内强类型服务桥接:提供极简的
app.bind("name", fn)与ServiceRegistry,视图与后端逻辑在单一 Rust 进程内通过类型安全调用直接交互(延迟仅1.2µs),无需手写胶水宏或权限 JSON。 - 8 端统一工程工具链:单一 CLI 驱动桌面(macOS / Linux / Windows)、移动(iOS / Android / HarmonyOS NEXT)与 Web(WebAssembly WebGPU / 小程序 WebGL2)的构建、热重载、环境诊断与分发打包。
Workspace 核心 Crates 架构
| Crate 名称 | 路径 | 核心职责 |
|---|---|---|
gpux | crates/gpux | 面向应用开发者的统一 SDK,导出 gpux::prelude::*、gpui-kit 组件库与响应式断点上下文 ResponsiveContext。 |
gpux-core | crates/gpux-core | 跨平台运行时基座:8 端枚举 Platform、AppManifest、ServiceRegistry、Store<T>、Router<R>、SafeAreaInsets。 |
gpux-desktop | crates/gpux-desktop | 基于 GPUI 的桌面原生窗口宿主(macOS Metal / Linux Vulkan / Windows DirectX 12)。 |
gpux-mobile | crates/gpux-mobile | 移动端嵌入宿主与安全区/触摸手势桥接(iOS / Android NativeActivity / HarmonyOS NEXT XComponent)。 |
gpux-web | crates/gpux-web | 浏览器 WASM 与小程序 Canvas 2D/WebGPU/WebGL2 宿主,内置 CJK 与彩色 Emoji 字体智能回退(CanvasFontFallback)。 |
gpui-kit | crates/gpui-kit | 90+ 硬件加速原生 UI 组件库:Button、Input、VirtualList、Table、Chart、Resizable、CommandPalette、Theme 等。 |
gpux-3d | crates/gpux-3d | Three.js 风格原生 3D 场景图与骨骼蒙皮动画引擎(暴露为 gpux::three):Scene、Mesh、Skeleton、AnimationMixer(支持 AnimationBlendMode::Additive)、PbrMaterial、OrbitControls、Raycaster。 |
gpux-cli | crates/gpux-cli | 全平台命令行工具:gpux init、gpux dev、gpux doctor、gpux build。 |