# Uno **Repository Path**: tomgee/Uno ## Basic Information - **Project Name**: Uno - **Description**: The Uno Platform, the UWP bridge for iOS, Android, and WebAssembly - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-06-02 - **Last Updated**: 2024-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

## Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. [![Open Uno in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/unoplatform/uno) [![Azure DevOps](https://img.shields.io/azure-devops/build/uno-platform/1dd81cbd-cb35-41de-a570-b0df3571a196/5/master?label=master)](https://uno-platform.visualstudio.com/Uno%20Platform/_build?definitionId=5) [![Azure DevOps](https://img.shields.io/azure-devops/build/uno-platform/1dd81cbd-cb35-41de-a570-b0df3571a196/5/release/beta/Batman?label=release/beta/Batman)](https://uno-platform.visualstudio.com/Uno%20Platform/_build?definitionId=5) [![Azure DevOps](https://img.shields.io/azure-devops/build/uno-platform/1dd81cbd-cb35-41de-a570-b0df3571a196/5/release/stable/Batman?label=release/stable/Batman)](https://uno-platform.visualstudio.com/Uno%20Platform/_build?definitionId=5) [![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=unoplatform/uno)](https://dependabot.com) [![Gitter](https://badges.gitter.im/uno-platform/Lobby.svg)](https://gitter.im/uno-platform/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![Twitter Followers](https://img.shields.io/twitter/follow/unoplatform?label=follow%20%40unoplatform&style=flat)](https://twitter.com/unoplatform) [![GitHub Stars](https://img.shields.io/github/stars/unoplatform/uno?label=github%20stars)](https://github.com/unoplatform/uno/stargazers/) [![NuGet Downloads](https://img.shields.io/nuget/dt/uno.ui.svg)](https://www.nuget.org/packages/uno.ui) [![All Contributors](https://img.shields.io/badge/all_contributors-61-orange.svg?style=flat-square)](#contributors) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/unoplatform/uno/blob/master/CONTRIBUTING.md) # What is the Uno Platform The Uno Platform (Pronounced 'Oono' or 'Ouno') is a Universal Windows Platform Bridge that allows UWP-based code (C# and XAML) to run on iOS, Android, and WebAssembly. It provides the full definitions of the UWP Windows 10 October 2018 Update (17763), and the implementation of a growing number of parts of the UWP API, such as **Windows.UI.Xaml**, to enable UWP applications to run on these platforms. Use the UWP tooling from Windows in [Visual Studio](https://www.visualstudio.com/), such as [XAML Edit and Continue](https://blogs.msdn.microsoft.com/visualstudio/2016/04/06/ui-development-made-easier-with-xaml-edit-continue/) and [C# Edit and Continue](https://docs.microsoft.com/en-us/visualstudio/debugger/how-to-use-edit-and-continue-csharp), build your application as much as possible on Windows, then validate that your application runs on iOS, Android and WebAssembly. Visit [our documentation](doc/articles/intro.md) for more details. # Getting Started ## Prerequisites * [**Visual Studio 2017 15.5 or later**](https://visualstudio.microsoft.com/) with: * **Universal Windows Platform component** installed. * **Xamarin component** installed (for Android and iOS development). * **ASP.NET/web component** installed, along with .NET Core 2.2 (for WASM development). To easily create a multi-platform application: * Install the [Uno Solution Template Visual Studio Extension](https://marketplace.visualstudio.com/items?itemName=nventivecorp.uno-platform-addin). * Create a new C# solution using the **Cross-Platform App (Uno Platform)** template, from Visual Studio's **Start Page**. See the complete [Getting Started](https://platform.uno/docs/articles/get-started.html) guide for more information. For a larger example and features demo: * Visit the [Uno Gallery and Playground](https://github.com/unoplatform/uno.Playground) repository. * Try the [WebAssembly Uno Playground](https://playground.platform.uno) live in your browser. # Uno Features * Supported platforms: * Windows (via the standard UWP Toolkit) * iOS and Android (via [Xamarin](https://www.visualstudio.com/xamarin/)) * WebAssembly through the [Mono Wasm SDK](https://github.com/mono/mono/blob/master/sdks/wasm/README.md) * Dev loop: * Develop on Windows first using Visual Studio * [XAML Edit and Continue](https://blogs.msdn.microsoft.com/visualstudio/2016/04/06/ui-development-made-easier-with-xaml-edit-continue/) for live XAML edition on each keystroke * [C# Edit and Continue](https://docs.microsoft.com/en-us/visualstudio/debugger/how-to-use-edit-and-continue-csharp) * Validate on other platforms as late as possible * Experimental XAML Hot Reload for WebAssembly, 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://docs.microsoft.com/en-us/windows/uwp/design/controls-and-patterns/control-templates) * [Data Templating](https://code.msdn.microsoft.com/Data-Binding-in-UWP-b5c98114) * [Styling](https://docs.microsoft.com/en-us/windows/uwp/design/controls-and-patterns/xaml-styles) * [Rich Animations](https://docs.microsoft.com/en-us/windows/uwp/design/motion/xaml-animation) * UWP Code Support: * [Windows Community Toolkit](https://github.com/unoplatform/uno.WindowsCommunityToolkit) * [MVVM Light Toolkit](https://github.com/unoplatform/uno.mvvmlight) * [Microsoft XAML Behaviors](https://github.com/unoplatform/uno.XamlBehaviors) * [Prism](https://github.com/unoplatform/uno.Prism) * [SkiaSharp](https://github.com/unoplatform/Uno.SkiaSharp) * [SkiaSharp.Extended](https://github.com/unoplatform/Uno.SkiaSharp.Extended) * [MVVMCross](https://www.mvvmcross.com/) (soon) * [ReactiveUI Official](https://github.com/reactiveui/ReactiveUI/pull/2067) * [WindowsStateTriggers](https://github.com/unoplatform/uno.WindowsStateTriggers) * [Xamarin.Forms for UWP](https://github.com/unoplatform/uno.Xamarin.Forms), [NuGet](https://www.nuget.org/packages/ReactiveUI.Uno) * [Rx.NET](https://github.com/reactiveui/Reactive.Wasm) * [ColorCode-Universal](https://github.com/unoplatform/uno.ColorCode-Universal) * [LibVLCSharp](https://github.com/videolan/libvlcsharp) * Any UWP project * Responsive Design: * [Visual State Manager](https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Xaml.VisualStateManager) * [State Triggers](https://blogs.msdn.microsoft.com/mvpawardprogram/2017/02/07/state-triggers-uwp-apps/) * [Adaptive Triggers](https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Xaml.AdaptiveTrigger) * Platform Specific: * Native controls and properties via [conditional XAML](doc/articles/using-uno-ui.md#supporting-multiple-platforms-in-xaml-files) * Any of the existing Xamarin iOS/Android libraries available * Xamarin.Forms Renderers: * [Uno Platform WebAssembly Renderers for Xamarin.Forms](https://github.com/unoplatform/Uno.Xamarin.Forms.Platform) # Live WebAssembly Apps Here's a list of live apps made with the Uno Platform for WebAssembly. * The [Uno Platform Playground](https://playground.platform.uno) ([Source](https://github.com/unoplatform/uno.Playground)). * The [Uno Calculator](https://calculator.platform.uno), a simple yet powerful iOS/Android/WebAssembly C# port of the calculator that ships with Windows ([Source](https://github.com/unoplatform/calculator)). Also try the [pink theme](https://calculator.platform.uno/?theme=pink), the [iOS version](https://apps.apple.com/app/id1464736591) or the [Android version](https://play.google.com/store/apps/details?id=uno.platform.calculator). * The [Xaml Controls Gallery](https://xamlcontrolsgallery.platform.uno/) ([Source](https://github.com/unoplatform/uno.Xaml-Controls-Gallery)). * [SkiaSharp fork for the Uno Platform](https://skiasharp-wasm.platform.uno/), Skia is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library ([Source](https://github.com/unoplatform/Uno.SkiaSharp)). * The [Uno.WindowsCommunityToolkit](https://windowstoolkit-wasm.platform.uno/) ([Source](https://github.com/unoplatform/uno.WindowsCommunityToolkit)). * The [Uno.Lottie](https://lottie.platform.uno/), a sample that uses the [AnimatedVisualPlayer](https://docs.microsoft.com/en-us/uwp/api/microsoft.ui.xaml.controls.animatedvisualplayer) ([Source](https://github.com/unoplatform/uno.LottieSample)). * The [Uno.RoslynQuoter](https://roslynquoter-wasm.platform.uno/), a [Roslyn](https://github.com/dotnet/roslyn) based C# analysis tool ([Source](https://github.com/unoplatform/uno.RoslynQuoter)). * The [Uno.BikeSharing360 App](http://bikerider-wasm.platform.uno/), a Xamarin.Forms app running on top of Uno for WebAssembly ([Source](https://github.com/unoplatform/uno.BikeSharing360_MobileApps)). * The [Uno.WindowsStateTriggers App](http://winstatetriggers-wasm.platform.uno/), a demo of the [Morten's WindowsStateTriggers](https://github.com/dotMorten/WindowsStateTriggers) ([Source](https://github.com/unoplatform/uno.WindowsStateTriggers)). * The [SQLite + Entity Framework Core App](https://sqliteefcore-wasm.platform.uno), a demo of the combination of [Roslyn](https://github.com/dotnet/roslyn), [Entity Framework Core](https://docs.microsoft.com/en-us/ef/core/), [SQLite](https://github.com/unoplatform/uno.SQLitePCLRaw.Wasm) and the Uno Platform to manipulate an in-browser database. * The [Uno.WebSockets App](https://websockets-wasm.platform.uno), a demo of System.Net.WebSocket running from WebAssembly ([Source](https://github.com/unoplatform/uno.Wasm.WebSockets)). * A [mono-wasm AOT RayTracer](https://raytracer-mono-aot.platform.uno/). 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](https://stackoverflow.com/questions/tagged/uno-platform), [create an issue](https://github.com/unoplatform/uno/issues). # Contributing There are many ways that you can contribute to the Uno Platform, as the UWP API is 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 Gitter](https://gitter.im/uno-platform/Lobby) for help on how to contribute! Contribute to Uno in your browser using [GitPod.io](https://gitpod.io), follow [our guide here](doc/articles/features/working-with-gitpod.md). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/unoplatform/uno) # Contributors Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
JΓ©rΓ΄me Laban
JΓ©rΓ΄me Laban

πŸ’» πŸ–‹ πŸ“– πŸ’‘ 🚧 πŸš‡ πŸ€” πŸ‘€ ⚠️ πŸ“†
David Oliver
David Oliver

πŸ“ πŸ’» πŸ–‹ πŸ“– 🚧 βœ… πŸ‘€ ⚠️ πŸ’‘
Martin Zikmund
Martin Zikmund

πŸ’» ⚠️ πŸ‘€
Geoffrey Huntley
Geoffrey Huntley

πŸ’¬ πŸ“– 🚧 πŸ’» ⚠️ βœ… πŸ‘€
Patrick Decoster
Patrick Decoster

⚠️ πŸ’» πŸ’‘
David
David

πŸ’» πŸ–‹ πŸ“– 🚧 πŸ‘€ ⚠️ πŸ’‘
Carl de Billy
Carl de Billy

πŸ’» πŸ–‹ πŸ“– 🚧 βœ… πŸ‘€ ⚠️ πŸ’‘
vincentcastagna
vincentcastagna

πŸ’» πŸ’‘
TopperDEL
TopperDEL

πŸ’»
Maxine Mheir-El-Saadi
Maxine Mheir-El-Saadi

πŸ’» πŸ’‘ ⚠️
Artem
Artem

πŸ’» πŸ“–
Dysnomian Charles
Dysnomian Charles

πŸ’»
Jean-Philippe LΓ©vesque
Jean-Philippe LΓ©vesque

πŸ’»
Xiaotian Gu
Xiaotian Gu

πŸ’»
Rockford Lhotka
Rockford Lhotka

πŸ“
Nick Randolph
Nick Randolph

πŸ“
Microsoft
Microsoft

πŸ’» πŸ“– πŸ’‘ ⚠️ πŸš‡
Xamarin
Xamarin

πŸ’» πŸ“– πŸ’‘ ⚠️
NicolasChampagne
NicolasChampagne

πŸ’»
Agnes ZITTE
Agnes ZITTE

πŸ’»
Miguel Rochefort
Miguel Rochefort

πŸ’»
Yohan GuΓ©rin
Yohan GuΓ©rin

πŸ’»
jcantin-nventive
jcantin-nventive

πŸ’»
Mathieu Fillion
Mathieu Fillion

πŸ’» 🚧
Florent Cima
Florent Cima

πŸ’»
alextrepanier
alextrepanier

πŸ’»
warrenbenyahia
warrenbenyahia

πŸ’»
JP
JP

πŸ’»
GuillaumeSE
GuillaumeSE

πŸ’»
Shimmy
Shimmy

πŸ“–
Geoffrey Fielden-Briggs
Geoffrey Fielden-Briggs

πŸ’»
Massimo Cacchiotti
Massimo Cacchiotti

πŸ’»
rfrappier
rfrappier

πŸ“–
Furkan Kambay
Furkan Kambay

πŸ“–
pkar70
pkar70

πŸ’» ⚠️ πŸ“–
Hugo van Kemenade
Hugo van Kemenade

πŸ“–
Tomer Cohen
Tomer Cohen

πŸ“–
Antero Santos
Antero Santos

πŸ“–
Zhen Zhi Lee
Zhen Zhi Lee

πŸ’»
Gert de Pagter
Gert de Pagter

πŸ“–
Devesh Singh
Devesh Singh

πŸ“–
RanadeepPolavarapu
RanadeepPolavarapu

πŸ“–
Ujjwal
Ujjwal

πŸ“–
Chris Baumler
Chris Baumler

πŸ“–
SnicklePickles
SnicklePickles

πŸ“–
Pedro GonΓ§alves
Pedro GonΓ§alves

πŸ“–
Bharat Raghunathan
Bharat Raghunathan

πŸ“–
Aayush Bisen
Aayush Bisen

πŸ“–
Alexey Pyltsyn
Alexey Pyltsyn

πŸ“–
JosΓ© Antonio Chio
JosΓ© Antonio Chio

πŸ“–
Marouane R
Marouane R

πŸ“–
Avinash Jha
Avinash Jha

πŸ“–
Khyati Valera
Khyati Valera

πŸ“–
Alex
Alex

πŸ“–
Miguel Piedrafita
Miguel Piedrafita

πŸ“–
Gagan Deep
Gagan Deep

πŸ“–
RobJenks
RobJenks

πŸ“–
Pratik Gadhiya
Pratik Gadhiya

πŸ“–
MacKenzie Whalen
MacKenzie Whalen

πŸ“–
Giovanni De Luca
Giovanni De Luca

πŸš‡
Binit Ghimire
Binit Ghimire

πŸ“–
πŸ’– Thank-you.