# unoplatform
**Repository Path**: mirrors/unoplatform
## Basic Information
- **Project Name**: unoplatform
- **Description**: Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
- **Primary Language**: C#
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 1
- **Created**: 2020-10-19
- **Last Updated**: 2025-09-06
## Categories & Tags
**Categories**: cross-platform-mobiledev
**Tags**: None
## README
[](https://www.nuget.org/packages/uno.sdk/)
[](https://uno-platform.visualstudio.com/Uno%20Platform/_build?definitionId=5)
[](https://www.nuget.org/packages/uno.winui)
[](https://github.com/unoplatform/uno/stargazers/)
[](https://GitHub.com/unoplatform/uno/graphs/contributors)
[](https://gitpod.io/#https://github.com/unoplatform/uno)
[](https://github.com/unoplatform/uno/blob/master/CONTRIBUTING.md)
Uno Platform is an open-source developer platform for building single-codebase .NET applications that run natively on Web, Desktop, Mobile, and Embedded systems. It uses the WinUI 3 API surface, allowing you to reuse your existing C# and XAML skills to reach all platforms.
> Uno Platform is trusted by over 300 contributors and used by enterprise clients such as Toyota, Microsoft, and Kahua for mission-critical applications. With ~10,000 GitHub stars and 130+ million NuGet downloads, it is a proven foundation for professional-grade development.
---
## Uno Platform and Uno Platform Studio for The Most Productive C# / XAML Dev Loop
### Uno Platform (Core Framework)
The free and open-source (Apache 2.0) foundation for building cross-platform .NET applications. It includes the UI framework, platform heads, and a rich set of developer experience enhancements.
#### 🌐 Cross-Platform Support
Develop fully native applications for a wide range of platforms from a single codebase.
* **Mobile (iOS & Android)**: Build native, pixel-perfect UIs with C# and XAML.
* **Web (WebAssembly)**: Reuse existing C# and XAML skills to build fast web applications.
* **Desktop (Windows, macOS & Linux)**: Uno Platform uses **Skia** for rendering across all desktop platforms, ensuring high-performance, hardware-accelerated graphics and animations. On Windows, Skia runs within a Win32 shell, on macOS within an AppKit shell (Metal when available), and on Linux within an X11 shell or directly to the Framebuffer for embedded scenarios.
#### 🛠️ Toolkit & Extensions
* **UI Controls**: Access [hundreds of UI components from WinUI](https://aka.platform.uno/using-uno-ui), [Windows Community Toolkit](https://aka.platform.uno/install-uno-community-toolkit), [Uno Toolkit](https://aka.platform.uno/uno-toolkit), [third-party vendors](https://aka.platform.uno/supported-libraries), and even .NET [MAUI controls](https://aka.platform.uno/maui-embedding).
* **Theming**: Easily theme your app with [Material, Fluent, or Cupertino styles](https://aka.platform.uno/uno-themes) using minimal code.
* **State Management**: Choose between the familiar MVVM pattern or the modern [MVUX](https://aka.platform.uno/mvux) approach for declarative and scalable state management.
* **Extensions**: Utilize [ready-to-use libraries](https://aka.platform.uno/uno-extensions) for common functionalities like navigation, logging, and dependency injection.
* **Non-UI Cross-Platform APIs**: Access a [comprehensive set of APIs](https://aka.platform.uno/using-uno-ui) to interact with native device features such as sensors and secure storage.
### Uno Platform Studio
An optional premium toolkit that integrates with Visual Studio, VS Code, and JetBrains Rider to offer an unparalleled development loop.
* **[Hot Design](https://aka.platform.uno/hot-design)**: A next-generation visual designer that transforms your live app into a design surface with a single click.
* **[Hot Reload](https://aka.platform.uno/hot-reload)**: Instantly modify XAML and C# on a running app, allowing for rapid iteration without losing the app's state.
* **[Design-to-Code](https://aka.platform.uno/Design-to-Code)**: Export Figma designs to clean, responsive XAML or C# markup in seconds.
---
## 🚀 Quick Start
Get your development environment ready and create your first app in minutes.
1. **Check Your Environment**: Use our Uno.Check command-line tool to automatically check, install, and configure all required workloads and dependencies.
2. **Create Your App**: Use the Template Wizard in your IDE or the command line to quickly create and configure new Uno Platform projects with the appropriate settings for your target platforms.

3. **Build and Run**
➡️ For detailed guides, visit the **[Official Uno Platform Documentation](https://aka.platform.uno/get-started)** on how to get started with Uno Platform.
---
## 🛠️ How It Works
Uno Platform unifies cross-platform development by abstracting platform-specific implementations behind the WinUI 3 API surface.
1. **Develop**: You write your application in a single project using C# and XAML (or C# Markup) within your preferred environment (Visual Studio, JetBrains Rider, Visual Studio Code) on Windows, macOS, or Linux.
2. **Render**: Uno Platform renders your UI using one of two methods:
* **Unified Skia Rendering**: A Skia-based engine draws your UI on a canvas, ensuring consistent performance, smooth animations, and pixel-perfect visuals across all targets.
* **Native Rendering**: The XAML UI is translated into native platform controls (e.g., UIKit on iOS), providing a platform-native look and feel when desired.
3. **Deploy**: The build process generates a native application package for each target platform from the single codebase.
# Uno Platform Features
* Supported platforms:
* Windows 10 and Windows 11
* Windows 7 (via Skia Desktop)
* macOS (via Skia Desktop)
* iOS and Android (via [.NET](https://dotnet.microsoft.com/))
* WebAssembly through the [.NET Runtime WebAssembly SDK](https://github.com/dotnet/runtime/tree/main/src/mono/wasm)
* Linux (via Skia Desktop with X11 and FrameBuffer)
* Dev loop:
* Develop on your favorite IDE (Visual Studio, Rider, or VS Code) on your favorite OS (Windows, macOS, or Linux)
* XAML and/or C# Hot Reload for WebAssembly, macOS, Linux, Windows, iOS, and Android
* [Uno.UITest](https://github.com/unoplatform/Uno.UITest), a library to create Cross-Platform UI Tests for WebAssembly, iOS, and Android.
* Cross-Platform Controls:
* [Control Templating](https://learn.microsoft.com/windows/uwp/design/controls-and-patterns/control-templates)
* [Data Templating](https://code.msdn.microsoft.com/Data-Binding-in-UWP-b5c98114)
* [Styling](https://learn.microsoft.com/windows/uwp/design/controls-and-patterns/xaml-styles)
* [Rich Animations](https://learn.microsoft.com/windows/uwp/design/motion/xaml-animation)
* [Composition API](https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/composition)
* WinUI Code Support:
* [Windows Community Toolkit](https://github.com/CommunityToolkit/Windows)
* [Windows Community Toolkit (Uno Fork)](https://github.com/unoplatform/uno.WindowsCommunityToolkit)
* [Community Toolkit MVVM](https://learn.microsoft.com/dotnet/communitytoolkit/mvvm/)
* [Microsoft XAML Behaviors](https://github.com/unoplatform/uno.XamlBehaviors)
* [Prism](https://github.com/prismlibrary/prism)
* [SkiaSharp](https://github.com/mono/SkiaSharp)
* [SkiaSharp.Extended](https://github.com/mono/SkiaSharp.Extended)
* [ReactiveUI Official](https://github.com/reactiveui/ReactiveUI/pull/2067)
* [WindowsStateTriggers](https://github.com/unoplatform/uno.WindowsStateTriggers)
* [Rx.NET](https://github.com/reactiveui/Reactive.Wasm)
* [ColorCode-Universal](https://github.com/unoplatform/uno.ColorCode-Universal)
* [LibVLCSharp](https://github.com/videolan/libvlcsharp)
* [MapsUI](https://github.com/Mapsui/Mapsui)
* [LiveCharts](https://github.com/beto-rodriguez/LiveCharts2)
* Any WinUI project
* Responsive Design:
* [Visual State Manager](https://learn.microsoft.com/uwp/api/Microsoft.UI.Xaml.VisualStateManager)
* [State Triggers](https://blogs.msdn.microsoft.com/mvpawardprogram/2017/02/07/state-triggers-uwp-apps/)
* [Adaptive Triggers](https://learn.microsoft.com/uwp/api/Microsoft.UI.Xaml.AdaptiveTrigger)
* Platform Specific:
* Native controls and properties via [conditional XAML](doc/articles/platform-specific-xaml.md)
* Any of the existing Xamarin iOS/Android libraries available
---
## 📚 Learning & Community Resources
[](https://x.com/unoplatform)
[](https://platform.uno/discord)

* **[Official Documentation](https://aka.platform.uno/uno-docs-intro)**: The complete guide to Uno Platform.
* **[Uno Platform Studio](https://aka.platform.uno/studio)**: Details for the set of productivity tools Uno Platform Studio, that includes:
* **[Hot Design](https://aka.platform.uno/hot-design)**
* **[Hot Reload](https://aka.platform.uno/hot-reload)**
* **[Design-to-Code](https://aka.platform.uno/Design-to-Code)**
* **[Uno Playground](https://playground.platform.uno/)**: Experiment with code snippets and see live previews.
* **[Uno Gallery](https://gallery.platform.uno/)**: Explore various UI themes and components in action.
* **[Workshops & Code Samples](https://aka.platform.uno/samples-tutorials)**: Access practical tutorials and sample projects to accelerate learning.
* **[Case Studies](https://platform.uno/case-studies/)**: Learn from real-world applications built using the Uno Platform.
* **[Uno Platform Blog](https://platform.uno/blog/)**: The latest news, technical deep-dives, and release announcements.
* **[Discord Server](https://aka.platform.uno/discord)**: Join our active community for real-time discussions and support.
* **[Uno Tech Bites](https://www.youtube.com/playlist?list=PLl_OlDcUya9rP_fDcFrHWV3DuP7KhQKRA)**: Bite-sized learning videos with the team.
* **[Why Use Uno Platform for Your Project?](https://aka.platform.uno/why-uno-platform)**: Discover the key benefits and reasons to choose Uno Platform.
* **[General FAQ](https://aka.platform.uno/uno-faq)**: Find answers to common questions about Uno Platform.
## Contributing
This is an active open-source project, and we welcome contributions from the community.
To learn how you can get involved, please refer to our **[Contribution Guide (`CONTRIBUTING.md`)](https://github.com/unoplatform/uno/blob/master/CONTRIBUTING.md)** for details on how to get started.
## Contributors
Thanks go to these wonderful people (List made with [contrib.rocks](https://contrib.rocks)):
[](https://github.com/unoplatform/uno/graphs/contributors)
## License
This repository is licensed under the **[Apache 2.0 License](https://github.com/unoplatform/uno/blob/master/LICENSE)**.