The Uno Platform is an OSS project (Apache 2.0) which lets you build Mobile, Desktop and WebAssembly apps with C# and XAML
Use the UWP tooling from Windows in Visual Studio, such as XAML Edit and Continue and C# Edit and Continue, build your application as much as possible on Windows, then validate that your application runs on iOS, Android and WebAssembly.
Visit our documentation for more details and try get started tutorial - https://platform.uno/docs/articles/getting-started-tutorial-1.html
Uno Platform alternatives and similar packages
Based on the "Application Frameworks" category.
Alternatively, view Uno Platform alternatives based on common mentions on social networks and blogs.
9.9 0.0 L2 Uno Platform VS CoreFXThis repo is used for servicing PR's for .NET Core 2.1 and 3.1. Please visit us at https://github.com/dotnet/runtime
9.8 9.0 L4 Uno Platform VS ASP.NET BoilerplateASP.NET Boilerplate - Web Application Framework
9.7 8.8 L3 Uno Platform VS OrleansOrleans is a cross-platform framework for building distributed applications with .NET
.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
9.1 2.4 L4 Uno Platform VS DotNettyDotNetty project – a port of netty, event-driven asynchronous network application framework
AspectCore is an AOP-based cross platform framework for .NET Standard.
Microdot: An open source .NET microservices framework
Saml2 Authentication services for ASP.NET
7.1 9.2 L3 Uno Platform VS CSLA .NETA home for your business logic in any .NET application.
6.4 9.7 Uno Platform VS FusionBuild real-time apps (Blazor included) with less than 1% of extra code responsible for real-time updates. Host 10-1000x faster APIs relying on transparent and nearly 100% consistent caching. We call it DREAM, or Distributed REActive Memoization, and it's here to turn real-time on!
6.1 5.2 Uno Platform VS X.PagedListLibrary for easily paging through any IEnumerable/IQueryable in ASP.NET
.NET Core Extensions and Helper NuGet packages.
4.4 7.4 Uno Platform VS rxwebTons of extensively featured packages for Angular, VUE and React Projects
4.0 1.5 L2 Uno Platform VS Mono-AddinsMono.Addins is a generic framework for creating extensible applications, and for creating add-ins which extend those applications.
PersianDataAnnotations is ASP.NET Core MVC & ASP.NET MVC Custom Localization DataAnnotations (Localized MVC Errors) for Persian(Farsi) language - فارسی سازی خطاهای اعتبارسنجی توکار ام.وی.سی. و کور.ام.وی.سی. برای نمایش اعتبار سنجی سمت کلاینت
1.2 7.5 Uno Platform VS Simplify.WebSimplify.Web is an open-source, lightweight and fast server-side .NET web-framework based on MVC and OWIN for building HTTP based web-applications, RESTful APIs etc.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Uno Platform or a related project?
Pixel-Perfect. Multi-Platform. C# & Windows XAML. Today.
What is the Uno Platform?
The Uno Platform is a UI Platform for building single-codebase applications for Windows, Web/WebAssembly, iOS, macOS, Android and Linux.
It allows C# and Windows XAML code to run on all target platforms, while allowing you control of every pixel. It comes with support for Fluent, Material and Cupertino design systems out of the box. Uno Platform implements a growing number of the UWP APIs, such as Windows.UI.Xaml, to enable UWP and WinUI applications to run on on all platforms with native performance.
Use the UWP/WinUI tooling from Windows in Visual Studio, such as XAML Hot Reload and C# Edit and Continue, build your application as much as possible on Windows, then validate that your application runs on iOS, Android, macOS and WebAssembly.
Visit [our documentation](doc/articles/intro.md) for more details.
- Visual Studio 2019 with:
- Universal Windows Platform component installed.
- Xamarin component installed (for Android and iOS development).
- ASP.NET/web component installed, along with .NET Core SDK 5.0 or later (for WebAssembly development).
To easily create a multi-platform application:
- See the complete Getting Started guides for starting with Visual Studio, Visual Studio Code, JetBrains Rider or Visual Studio Mac.
For a larger example and features demo:
Uno Platform Features
- Supported platforms:
- Dev loop:
- Develop on Windows first using Visual Studio
- XAML Edit and Continue for live XAML edition on each keystroke
- C# Edit and Continue
- Validate on other platforms as late as possible
- Experimental XAML Hot Reload for WebAssembly, iOS and Android
- Uno.UITest, a library to create Cross-Platform UI Tests for WebAssembly, iOS and Android.
- Cross Platform Controls:
- UWP/WinUI Code Support:
- Responsive Design:
- Platform Specific:
- Native controls and properties via [conditional XAML](doc/articles/platform-specific-xaml.md)
- Any of the existing Xamarin iOS/Android libraries available
- Xamarin.Forms Renderers:
Live WebAssembly Apps
Here's a list of live apps made with the Uno Platform for WebAssembly.
- The Uno Platform Playground (Source).
- The Uno Gallery demonstrating the use of Fluent and Material guidelines.
- The Uno Calculator, a simple yet powerful iOS/Android/WebAssembly C# port of the calculator that ships with Windows (Source). Also try the iOS version, the Android version and Linux version.
- The Ch9 sample educational application.
- The Xaml Controls Gallery (Source).
- SkiaSharp fork for the Uno Platform, Skia is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library (Source).
- The Uno.WindowsCommunityToolkit (Source).
- The Uno.Lottie, a sample that uses the AnimatedVisualPlayer (Source).
- The Uno.RoslynQuoter, a Roslyn based C# analysis tool (Source).
- The Uno.BikeSharing360 App, a Xamarin.Forms app running on top of Uno for WebAssembly (Source).
- The Uno.WindowsStateTriggers App, a demo of the Morten's WindowsStateTriggers (Source).
- The SQLite + Entity Framework Core App, a demo of the combination of Roslyn, Entity Framework Core, SQLite and the Uno Platform to manipulate an in-browser database.
- The Uno.WebSockets App, a demo of System.Net.WebSocket running from WebAssembly (Source).
- A WebAssembly AOT RayTracer.
Let us know if you've made your app publicly available, we'll list it here!
Have questions? Feature requests? Issues?
There are many ways that you can contribute to the Uno Platform, as the WinRT and WinUI APIs are pretty large! Read our [contributing guide](CONTRIBUTING.md) to learn about our development process and how to propose bug fixes and improvements. Come visit us on our visit our Discord Channel #uno-platform for help on how to contribute!
Contribute to Uno in your browser using GitPod.io, follow [our guide here](doc/articles/features/working-with-gitpod.md).
Thanks goes to these wonderful people (emoji key):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore --> Jérôme Laban💻 🖋 📖 💡 🚧 🚇 🤔 👀 ⚠️ 📆 David Oliver📝 💻 🖋 📖 🚧 ✅ 👀 ⚠️ 💡 Martin Zikmund💻 ⚠️ 👀 Geoffrey Huntley💬 📖 🚧 💻 ⚠️ ✅ 👀 Patrick Decoster⚠️ 💻 💡 David💻 🖋 📖 🚧 👀 ⚠️ 💡 Carl de Billy💻 🖋 📖 🚧 ✅ 👀 ⚠️ 💡 vincentcastagna💻 💡 TopperDEL💻 Maxine Mheir-El-Saadi💻 💡 ⚠️ Artem💻 📖 Dysnomian Charles💻 Jean-Philippe Lévesque💻 Xiaotian Gu💻 Rockford Lhotka📝 Nick Randolph📝 Microsoft💻 📖 💡 ⚠️ 🚇 Xamarin💻 📖 💡 ⚠️ NicolasChampagne💻 Agnes ZITTE💻 Miguel Rochefort💻 Yohan Guérin💻 jcantin-nventive💻 Mathieu Fillion💻 🚧 Florent Cima💻 alextrepanier💻 warrenbenyahia💻 JP💻 GuillaumeSE💻 Shimmy📖 Geoffrey Fielden-Briggs💻 Massimo Cacchiotti💻 rfrappier📖 Furkan Kambay📖 pkar70💻 ⚠️ 📖 Hugo van Kemenade📖 Tomer Cohen📖 Antero Santos📖 Zhen Zhi Lee💻 Gert de Pagter📖 Devesh Singh📖 RanadeepPolavarapu📖 Ujjwal 📖 Chris Baumler📖 SnicklePickles📖 Pedro Gonçalves📖 Bharat Raghunathan📖 Aayush Bisen📖 Alexey Pyltsyn📖 José Antonio Chio📖 Marouane R📖 Avinash Jha📖 Khyati Valera📖 Alex📖 Miguel Piedrafita📖 Gagan Deep📖 RobJenks📖 Pratik Gadhiya📖 MacKenzie Whalen📖 Giovanni De Luca🚇 Binit Ghimire📖
<!-- ALL-CONTRIBUTORS-LIST:END -->