Introduction to the Open Source Uno Platform

Jérôme Laban | CTO, Uno Platform

@jlaban | @UnoPlatform 1 The Problem

1. 2. 3. • Cross-platform development • Legacy business applications • Skill • Effort duplication migration to web • Training • High rewrite cost • Dev Availability

2 The Solution Write your application once, in XAML and C#, and deploy it to every platform

+

.NET 3 WebAssembly Inception Lottie Hot Reload

1.0 2.0 SkiaSharp Syncfusion WebAssembly Preview Entity Framework

2013 2018 2019 2020

Windows ReactiveUI Community Toolkit UI Testing Full AOT Windows 7 Mixed WebAssembly Mode AOT Migration Open Source

4 2.4 3.1

3.0 Preview macOS

WinUI 3.0 2.0 3.0 3.3 WinUI 3 Pre 4 Prism Android X Day 0 Material & Android 11 Gitpod x:Bind Fluent UI WinUI Preview 3 3.5

2020 2021

MSAL.NET SQLite VS Code 3.4 Hot Restart

Surface Infragistics Duo .NET 5 WinUI 3 – Reunion Profile-Guided & Cupertino AOT Android 10 3.2 3.6

5 #WinUIEverywhere

• WinUI XAML + C# • Pixel-Perfect • Single Codebase • Everywhere .NET runs • 3rd party Ecosystem • Free and Open-Source

6 Truly Native

7 Licensing & Sustainability

Uno Platform is Free Open-Source Software (FOSS)

Sustained through the ‘Red Hat’ model (paid enterprise support)

8 Every Pixel Native Rendering

Pixel-Perfect Native Behaviors Accessibility Support

Canvas Rendering Canvas GPU Acceleration

Lookless / Control Templating 9 XAML

macOS Linux

iOS WINDOWS ANDROID WEBASSEMBLY

10 XAML Support

Control Templating / Data Templating Styling / Theming Conditional XAML Native Controls integration Animations (VisualStates, StateTriggers) DataBinding / Property Inheritance / x:Bind functions Shapes and Brushes Check out these and more at http://gallery.platform.uno

11 Coverage

12 Localization and Images

Assets added only once Localize strings only once Add assets as in WinUI/UWP Use WinUI’s .resw files (with .scale- suffix) Don’t bother with iOS plist files or Android Don’t bother with iOS @2x, @3x or android strings.xml densities (mdpi, hdpi, xhdpi)

Supports for localized assets (.lang- suffix)

13 Themes

Material Cupertino

14 See more at Uno Gallery platform.uno/gallery

15 Reuse existing libraries

16 Customers

17 UI Testing with Uno.UITest

Cross Platform UI Testing

Xamarin.UI Test for iOS/Android Selenium for WebAssembly

18 SkiaSharp Support for WebAssembly

Support of the Skia rendering engine on WebAssembly Provided for .NET through SkiaSharp SKXamlCanvas for Uno Platform

19 Infragistics Controls for Uno Platform

20 Uno Platform Playground Uno Gallery App

XAML EDITOR

SAMPLES LIST

XAML VISUALIZER

DATACONTEXT EDITOR & VISUALIZER

21 Demos

22 Draw

Fill out presentation feedback 3X form for a chance to win 3xplatform.uno/prize-draw

23 Thank You!

Try Uno1 Platform: Talk to us2 on Discord: platform.uno platform.uno/discord #uno-platform

3 Microsoft AppConsult4 and Uno Report any issues: Early Access POC .com/unoplatform [email protected]

24