Developing with Uno Platform
Write applications once in XAML and/or C# and deploy them to any target platform.
About Uno
- What is Uno Platform?
- How does Uno Platform work?
- Supported target platforms
- Supported .NET versions by platform
Mastering the basics
The WinUI application API which Uno Platform uses is extensively documented by Microsoft. We've selected some articles from Microsoft which will jump-start your Uno Platform development.
Here are some articles which cover the basics of cross-platform Uno development:
- The structure of an Uno Platform codebase
- Platform-specific code: C# and XAML
- Best practices for developing Uno Platform applications
WinUI features
These articles cover general WinUI features in Uno Platform, discussing what's supported and which platform-specific constraints exist.
- Accessibility
- Assets in shared code
- Custom fonts
- Shapes & Brushes
- Handling user input
- Using Fluent styles in legacy apps
WinUI controls
Uno Platform provides support for a large number of WinUI controls, panels, and visual primitives - see a complete list in the Reference documentation. The 'WinUI controls' section in the Table of Contents on the left covers platform-specific constraints and extensions for selected controls.
WinRT features (non-visual APIs)
Uno Platform supports a number of non-visual APIs from Windows Runtime namespaces on non-Windows platforms, like clipboard management and sensor access.
Features unique to Uno
- VisibleBoundsPadding - manage 'safe' area on notched devices
- ElevatedView - apply a shadow effect on all platforms
- Uno.Material - Material Design on all platforms
- Uno.Cupertino
Core functionality
- Enable and configure logging
- Configure build telemetry
- Add native views to the visual tree
- Enable native control styles (Android and iOS)
Common development tasks
- Migrating single-platform UWP code
- Creating a cross-targeted library
- Upgrading from older Uno.UI releases