Mobile platform layer for GPUI — run Rust UI apps natively on iOS and Android.
Implements the gpui::Platform trait for mobile targets, following the same architecture as Zed's desktop platform crates.
| Platform | Renderer | Text |
|---|---|---|
| iOS | Metal via wgpu | CoreText |
| Android | Vulkan/GL via wgpu | cosmic-text + swash |
Highlights: GPU-accelerated rendering, touch input with momentum scrolling, keyboard support, safe area insets, dark mode, and emoji rendering.
- Rust 1.75+
- iOS: macOS + Xcode 15+, XcodeGen (
brew install xcodegen) - Android: Android SDK + NDK r25+, cargo-ndk (
cargo install cargo-ndk)
cd example
# iOS
./build.sh ios --device # or --simulator
./build.sh ios --device --release
# Android
./build.sh android --device # or --emulator
./build.sh android --device --release# iOS
rustup target add aarch64-apple-ios
cd example && cargo build --target aarch64-apple-ios
cd ios && xcodegen generate --spec project.yml
xcodebuild -project GpuiExample.xcodeproj -scheme GpuiExample build
# Android
rustup target add aarch64-linux-android
cd example
cargo ndk -t arm64-v8a -P 31 -o android/gradle/app/src/main/jniLibs build
cd android/gradle && ./gradlew assembleDebug| Platform | Status | Min Version | GPU Backend |
|---|---|---|---|
| iOS (device + sim) | ✅ | iOS 13.0+ | Metal |
| Android (arm64) | ✅ | API 26+ | Vulkan (preferred), GL ES 3.0 |
| Android (armv7/x86_64) | API 26+ | Vulkan / GL ES |
Running on a Motorola Edge 50 Pro (Android, Vulkan):
| Home | Counter | Settings | About |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
A demo video is available at screenshots/demo.mp4.
The example app includes screens for Home, Counter, About, Settings, Components (Apple Glass + Material Design), Animations, and Shaders.
- Fork & create a feature branch
- Ensure all targets compile:
cargo check cargo check --target aarch64-apple-ios cargo check --target aarch64-linux-android cargo test cargo fmt --all - Open a Pull Request
Licensed under any one of:
Zed Industries (GPUI framework) · wgpu · cosmic-text · swash · Google Noto Fonts



