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 Linux
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 github.com/unoplatform [email protected]
24