Description
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.
-
CoreFX
This repo is used for servicing PR's for .NET Core 2.1 and 3.1. Please visit us at https://github.com/dotnet/runtime -
Introducing .NET Multi-platform App UI (MAUI)
.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop. -
ASP.NET Boilerplate
ASP.NET Boilerplate - Web Application Framework -
DotNetty
DotNetty project – a port of netty, event-driven asynchronous network application framework -
AspectCore Framework
AspectCore is an AOP-based cross platform framework for .NET Standard. -
Microdot Framework
Microdot: An open source .NET microservices framework -
CSLA .NET
A home for your business logic in any .NET application. -
Kentor Authentication Services
Saml2 Authentication services for ASP.NET -
Fusion
Build 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! -
X.PagedList
Library for easily paging through any IEnumerable/IQueryable in ASP.NET -
ASP.NET MVC Boilerplate Framework
.NET Core Extensions and Helper NuGet packages. -
rxweb
Tons of extensively featured packages for Angular, VUE and React Projects -
Mono-Addins
Mono.Addins is a generic framework for creating extensible applications, and for creating add-ins which extend those applications. -
silky
The Silky framework is designed to help developers quickly build a microservice development framework through simple code and configuration under the .net platform. -
Newbe.Claptrap
This is a frameworks with reactive, event sourcing and Actor pattern as basic theories. On top of this, developers can create "distributed", "scale out", and "easy to test" application more simply. Claptrap and it`s Minions is on the way. -
DWKit
DWKit is a Business Process Management System based on .NET Core and React -
Database scaffolding platform
Database scaffolding tool -
MicroBootstrap
A Full Stack framework written in .NET Core to speed up your development process in microservices and modular monolith apps. It gathers most widely used frameworks in .NET world and pack them into a simple bootstrap package. -
PersianDataAnnotations
PersianDataAnnotations is ASP.NET Core MVC & ASP.NET MVC Custom Localization DataAnnotations (Localized MVC Errors) for Persian(Farsi) language - فارسی سازی خطاهای اعتبارسنجی توکار ام.وی.سی. و کور.ام.وی.سی. برای نمایش اعتبار سنجی سمت کلاینت -
Plastic
This project provides encapsulation of things like Domain, Application Rules, Business Rules or Business Logic in Application. -
Simplify.Web
Simplify.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. -
MVCExtensibleRoleManagement
ASP.NET MVC Role-Based Security Example -
Ether.Network
Ether.Network is an open source networking library that allow developers to create simple, fast and scalable socket server or client applications over the TCP/IP protocol.
Static code analysis for 29 languages.
* 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?
README
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 WinUI 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 WinRT and WinUI APIs, such as Windows.UI.Xaml, to enable WinUI applications to run on all platforms with native performance.
Use the 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.
Getting Started
See the complete Getting Started guides for starting with Visual Studio, Visual Studio Code, JetBrains Rider, or Visual Studio for Mac.
For a larger example and features demo:
- Visit the Uno Gallery repository.
- Try the WebAssembly Uno Playground live in your browser.
Uno Platform Features
- Supported platforms:
- Windows 10 and Windows 11 (via the standard UWP and WinUI Toolkit)
- Windows 7 (via Skia)
- iOS, macOS and Android (via Xamarin and .NET)
- WebAssembly through the .NET Runtime WebAssembly SDK
- Linux through Skia (Gtk and FrameBuffer)
- Dev loop:
- Develop on Windows first using Visual Studio
- XAML Hot Reload for live XAML edition on each keystroke
- C# Hot Reload on Windows (VS2022), Linux and macOS (VS Code)
- Validate on other platforms as late as possible
- Develop in VS Code, Codespaces or GitPod
- XAML Hot Reload for WebAssembly, Linux, 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 demonstrates the use of Fluent and Material guidelines.
- The NuGet Package Explorer (Source).
- 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.
- 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.
- The Xaml Controls Gallery (Source).
Let us know if you've made your app publicly available, we'll list it here!
Have questions? Feature requests? Issues?
Make sure to visit our [FAQ](doc/articles/faq.md), StackOverflow, create an issue or Discord - "Uno-Platform" channel where our engineering and community are.
Contributing
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 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).
Contributors
Thanks go to these wonderful people (List made with contrib.rocks):
💖 Thank you.