Skip to content

Commit 80f3fe9

Browse files
Small refresh of homepage + updated Samples page
1 parent cb1d77e commit 80f3fe9

File tree

10 files changed

+616
-16
lines changed

10 files changed

+616
-16
lines changed

docs/overview/supported-platforms.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
---
2+
id: supported-platforms
3+
title: Supported Platforms
4+
---
5+
6+
Avalonia apps can be written for the following platforms:
7+
8+
| Platform | Supported |
9+
|-------------|-----------|
10+
| `Windows` | ✔️ |
11+
| `macOS ` | ✔️ |
12+
| `Linux` | ✔️ |
13+
| `iOS` | ✔️ |
14+
| `Android` | ✔️ |
15+
| `WebAssembly` | ✔️ |
16+
17+
## Windows
18+
19+
* Windows 8.1
20+
* Windows 10
21+
* Windows 11
22+
23+
While Avalonia apps will successfully run on Windows 7, this legacy platform receives limited support. We no longer provide bug fixes for Windows 7-specific issues.
24+
25+
## macOS
26+
27+
* macOS 10.14 (Mojave)
28+
* macOS 10.15 (Catalina)
29+
* macOS 11 (Big Sur)
30+
* macOS 12 (Monterey)
31+
* macOS 13 (Ventura)
32+
* macOS 14 (Sonoma)
33+
* macOS 15 (Sequoia)
34+
35+
Avalonia also runs on macOS 10.13 (High Sierra), but we are in the process of migrating to the Metal GPU API, which is currently disabled by default. It is planned to be enabled during one of minor updates.
36+
37+
:::important
38+
It is possible to develop for macOS on Windows, macOS and Linux using Avalonia. If you plan to sign and notarize your macOS application for distribution, you will require a Mac with XCode installed.
39+
:::
40+
41+
## Linux
42+
43+
* Debian 9+
44+
* Ubuntu 16.04+
45+
* Fedora 30+
46+
47+
Avalonia works reliably on most Linux distributions as long as they support the .NET SDK and have either X11 or framebuffer capabilities. While we officially support Debian 9+, Ubuntu 16.04+, and Fedora 30+, many other distributions run Avalonia applications without issues, and we actively work to ensure broad Linux compatibility.
48+
49+
For customers with [support agreements](https://avaloniaui.net/support), we offer expanded Linux distribution coverage and can assist with specific distribution requirements. Wayland support is currently in private preview and will be available in an upcoming release.
50+
51+
WSL 2 distros are supported as well, but `libice6`, `libsm6` and `libfontconfig1` dependencies must be installed individually.
52+
53+
:::info
54+
Skia is built against glibc 2.17. If your distro uses something else instead, you need to build your own libSkiaSharp.so at [SkiaSharp](https://github.com/mono/SkiaSharp). You also can visit SkiaSharp home page for more information about supported versions.
55+
:::
56+
57+
## iOS
58+
59+
* iOS 13
60+
* iOS 14
61+
* iOS 15
62+
* iOS 16
63+
* iOS 17
64+
* iOS 18
65+
66+
:::note
67+
.NET 7 is required for iOS support.
68+
:::
69+
70+
## Android
71+
72+
| Name | Version Number | API Level |
73+
|---------------------|---------|-----|
74+
| Android Lollipop | 5.0 | 21 |
75+
| Android Lollipop | 5.1 | 22 |
76+
| Android Marshmallow | 6.0 | 23 |
77+
| Android Nougat | 7.0 | 24 |
78+
| Android Nougat | 7.1 | 25 |
79+
| Android Oreo | 8.0 | 26 |
80+
| Android Oreo | 8.1 | 27 |
81+
| Android Pie | 9 | 28 |
82+
| Android 10 | 10 | 29 |
83+
| Android 11 | 11 | 30 |
84+
| Android 12 | 12 | 31 |
85+
| Android 12L | 12.1 | 32 |
86+
| Android 13 | 13 | 33 |
87+
| Android 14 | 14 | 34 |
88+
| Android 15 | 15 | 35 |
89+
| Android 16 | 16 | 36 |
90+
91+
:::note
92+
.NET 7 is required for Android support.
93+
:::
94+
95+
## WebAssemnly (Browser)
96+
Any browser with full WebAssembly support technically should work - https://caniuse.com/wasm.
97+
98+
For the best performance and support we recommend latest Chrome or Safari versions.
99+
100+
:::note
101+
.NET 7 is required for Browser support. Starting with 11.0.6 we recommend .NET 8.
102+
:::
103+
104+
## Additional platform support
105+
Avalonia also supports Tizen and tvOS, though this is provided by the community.

docs/overview/what-is-avalonia.md

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
---
2+
id: what-is-avalonia
3+
title: What is Avalonia?
4+
---
5+
6+
import AvaloniaArchitecture from '/img/overview/Architecture.png';
7+
import MauiComparision from '/img/overview/MAUI-Comparision.png';
8+
9+
Avalonia is an open-source, cross-platform UI framework that enables developers to create application using .NET for Windows, macOS, Linux, iOS, Android and WebAssembly.
10+
11+
It uses its own rendering engine to draw UI controls, ensuring consistent appearance and behavior across all supported platforms. This means that developers can share their UI code and maintain a uniform look and feel regardless of the target platform.
12+
13+
<p><img className="image-zoom-medium" src={AvaloniaArchitecture} alt="" /></p>
14+
15+
16+
## Who Avalonia is for?
17+
18+
Avalonia is for developers who want to:
19+
20+
* Write cross-platform apps in XAML and C#, from a single shared code-base.
21+
* Share UI, layout and design across multiple platforms.
22+
* Share code, tests, and business logic across platforms.
23+
24+
25+
## How does Avalonia work?
26+
Avalonia unifies desktop, mobile, and web platforms through a unique approach that differs from traditional cross-platform frameworks. Rather than wrapping native UI controls, Avalonia implements its own cross-platform rendering engine that ensures pixel-perfect consistency across all supported platforms.
27+
28+
### Architecture Overview
29+
Avalonia is built on .NET Standard 2.0, allowing it to run on any platform that supports .NET. The framework consists of several key layers:
30+
31+
#### Core Platform-Agnostic Layer
32+
The majority of Avalonia's functionality resides in a platform-agnostic core layer that handles:
33+
34+
* UI Controls and Layout
35+
* Visual Tree Management
36+
* Styling System
37+
* Data Binding
38+
* Input Handling
39+
* Animation Framework
40+
41+
This core layer is completely platform-independent, meaning it behaves identically regardless of the operating system or device.
42+
43+
#### Rendering Engine
44+
Unlike frameworks that rely on native UI controls, Avalonia uses its own rendering engine powered by either Skia or Direct2D. This approach means that:
45+
46+
* Applications look and behave identically across platforms
47+
* Custom controls and visual effects can be implemented once and work everywhere
48+
* The framework isn't limited by platform-specific UI capabilities
49+
50+
#### Platform Integration Layer
51+
Avalonia requires minimal platform-specific code to integrate with each supported platform. This layer handles:
52+
53+
* Window Management
54+
* Input Events
55+
* Clipboard Operations
56+
* Native Dialogs
57+
* Hardware Acceleration
58+
* Platform-Specific Features
59+
60+
#### Runtime Environment
61+
Avalonia applications run on the .NET runtime, whether that's .NET Core, or Mono.
62+
63+
#### Comparison with Native Approaches
64+
While frameworks like .NET MAUI abstract over native UI controls, Avalonia takes a different approach:
65+
66+
<p><img className="image-zoom-medium" src={MauiComparision} alt="" /></p>
67+
68+
This architectural difference provides several benefits:
69+
70+
* Consistent behavior across platforms
71+
* Pixel-perfect rendering
72+
* Full control over the UI stack
73+
* Simplified platform support
74+
* Reduced maintenance overhead
75+
* Better performance on resource-constrained devices
76+
77+
### Integration with Native Platforms
78+
79+
While Avalonia uses its own rendering engine, it still integrates seamlessly with native platform capabilities:
80+
81+
* **Windows**: Supports Win32 APIs and modern Windows features
82+
* **Linux**: Works with X11, Wayland, and framebuffer rendering
83+
* **macOS**: Integrates with Cocoa and platform services
84+
* **Mobile**: Provides native lifecycle management and platform integration
85+
* **Web**: Runs via WebAssembly with full browser integration
86+
87+
### Platform Support Requirements
88+
At its core, Avalonia requires just two fundamental capabilities to support a new platform:
89+
90+
1. The ability to draw pixels on a screen
91+
2. The ability to receive input events
92+
93+
This minimal requirement set is what allows Avalonia to support such a wide range of platforms, from desktop operating systems to embedded devices, and even unusual platforms like VNC servers.
94+
95+
This architecture enables Avalonia to deliver on its promise of "One codebase, infinite possibilities" while maintaining high performance and native platform integration where it matters most.

0 commit comments

Comments
 (0)