Open-source platform for building cross-platform native Mobile, Web, Desktop, and Embedded apps from a single C#/XAML codebase. Work from any IDE/CLI with Hot Reload, Visual Designer, MCPs, and Skills built for modern .NET workflows. 200M+ NuGet downloads.
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, Windows Community Toolkit, Uno Toolkit, third-party vendors, and even .NET MAUI controls.
- Theming: Easily theme your app with Material, Fluent, or Cupertino styles using minimal code.
- State Management: Choose between the familiar MVVM pattern or the modern MVUX approach for declarative and scalable state management.
- Extensions: Utilize ready-to-use libraries for common functionalities like navigation, logging, and dependency injection.
- Non-UI Cross-Platform APIs: Access a comprehensive set of APIs to interact with native device features such as sensors and secure storage.
Uno Platform Studio
The AI-native productivity suite for building enterprise-grade, cross-platform .NET applications. It spans prompt-to-app generation in the browser, an AI development agent, design handoff, and the industry-first runtime visual designer for .NET โ integrating with Visual Studio, VS Code, and JetBrains Rider to deliver an unparalleled development loop.
- Uno Platform Studio App: Go from a prompt (or a curated Gallery sample) to a working, cross-platform Uno Platform app in minutes. Watch it build live thanks to Hot Reload, refine it through the conversation panel, then export to your preferred IDE or CLI to keep building.
- Uno Platform Studio Agent: The orchestration layer that makes AI Uno-aware โ it sees your running app, knows your design system, validates changes across every target, and grounds its answers in official Uno Platform docs, all in a human-in-the-loop workflow. It ships 70+ Uno Platform-specific skills through the
uno-platform-studioplugin for Claude Code, GitHub Copilot, and OpenAI Codex. - Hot Design: The industry-first, patented runtime visual designer that transforms your live app into a design surface with a single click.
- Hot Reload: Instantly modify XAML and C# on a running app, allowing for rapid iteration without losing the app's state.
- Design-to-Code: Export Figma designs to clean, responsive XAML or C# markup in seconds.
- Uno Platform MCPs: The Uno MCP gives AI agents structured, semantic access to Uno Platform's full knowledge base (docs, APIs, and best practices), while the App MCP lets agents interact directly with your live, running app.
๐ Quick Start
Get your development environment ready and create your first app in minutes.
- Check Your Environment: Use our Uno.Check command-line tool to automatically check, install, and configure all required workloads and dependencies.
- 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.
- Build and Run
๐ ๏ธ How It Works
Uno Platform unifies cross-platform development by abstracting platform-specific implementations behind the WinUI 3 API surface.
- 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.
- Render: Uno Platform renders your UI using one of two methods:
- Deploy: The build process generates a native application package for each target platform from the single codebase.
Uno Platform Features
- Supported platforms:
- Dev loop:
- Cross-Platform Controls:
- WinUI Code Support:
- Responsive Design:
- Adaptive Triggers
- Platform Specific:
๐ Learning & Community Resources
- Official Documentation: The complete guide to Uno Platform.
- Uno Platform Studio: Details for the AI-native suite of productivity tools, which includes:
- Uno Playground: Experiment with code snippets and see live previews.
- Uno Gallery: Explore various UI themes and components in action.
- Workshops & Code Samples: Access practical tutorials and sample projects to accelerate learning.
- Case Studies: Learn from real-world applications built using the Uno Platform.
- Uno Platform Blog: The latest news, technical deep-dives, and release announcements.
- Discord Server: Join our active community for real-time discussions and support.
- Uno Tech Bites: Bite-sized learning videos with the team.
- Why Use Uno Platform for Your Project?: Discover the key benefits and reasons to choose Uno Platform.
- General 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) for details on how to get started.
Contributors
Thanks go to these wonderful people (List made with contrib.rocks):
License
This repository is licensed under the Apache 2.0 License.