Supported Platforms
Desktop
Windows, macOS, and Linux desktop applications
Mobile
iOS and Android native mobile apps
Web
WebAssembly applications running in browsers
Platform Architecture
Avalonia uses a layered architecture that enables true cross-platform development:Rendering Backends
Avalonia supports multiple rendering backends with automatic fallback:- Skia: Primary rendering engine for desktop and mobile
- OpenGL/EGL: Hardware-accelerated graphics on Android and iOS
- Metal: Native iOS rendering (experimental)
- Vulkan: High-performance rendering on Android
- WebGL: Browser-based hardware acceleration
- Direct2D: Windows-specific acceleration
- Software: CPU-based fallback rendering
Platform Detection
Avalonia provides automatic platform detection for desktop applications:Manual Platform Selection
You can manually specify platforms for more control:- Windows
- macOS
- Linux
Platform Capabilities
| Feature | Windows | macOS | Linux | iOS | Android | Browser |
|---|---|---|---|---|---|---|
| Window Management | ✓ | ✓ | ✓ | – | – | Limited |
| Native Menus | ✓ | ✓ | ✓ | – | – | – |
| System Tray | ✓ | ✓ | ✓ | – | – | – |
| File Dialogs | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ (Polyfill) |
| Clipboard | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Drag & Drop | ✓ | ✓ | ✓ | – | – | ✓ |
| Touch Input | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| IME/Text Input | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Screen Info | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| GPU Acceleration | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Code Sharing
Avalonia enables maximum code sharing across platforms:- UI Code: 100% shared XAML and controls
- Business Logic: 100% shared C# code
- Platform-Specific: Only when accessing native APIs
Runtime Platform Information
Access platform information at runtime:Platform-Specific Features
For platform-specific functionality, see:Next Steps
Desktop Development
Build Windows, macOS, and Linux applications
Mobile Development
Create iOS and Android apps
Web Development
Deploy to browsers with WebAssembly
Platform-Specific APIs
Access native platform features