1
00:00:00,000 --> 00:00:05,000
Welcome to this Talk about Uno Platform from tutorialr.com/talks

2
00:00:05,000 --> 00:00:10,000
Development can be performed using native, common or cross-platform development

3
00:00:10,000 --> 00:00:16,000
Native Development can be done on Windows using C# and XAML with the Universal Windows Platform,

4
00:00:16,000 --> 00:00:24,000
for modern browsers like Edge, Chrome, Firefox and Safari using JavaScript with HTML 5 and CSS 3,

5
00:00:24,000 --> 00:00:28,000
for iOS and macOS using Swift with Swift UI,

6
00:00:28,000 --> 00:00:32,000
for Android using Kotlin with Google Material Design,

7
00:00:32,000 --> 00:00:35,500
and for Linux using Python with GTK

8
00:00:35,500 --> 00:00:41,100
C# Development can target Windows, Modern Browsers, iOS, MacOS, Android and Linux 

9
00:00:41,100 --> 00:00:45,000
using Universal Windows Platform and WinUI on Windows, 

10
00:00:45,000 --> 00:00:52,500
Blazor WebAssembly in Modern Browsers, Xamarin on iOS, macOS or Android and SKIA on Linux

11
00:00:52,500 --> 00:00:59,100
Cross-platform Development with C# targeting Windows, Modern Browsers, iOS, MacOS, Android 

12
00:00:59,100 --> 00:01:02,500
and Linux is possible using Uno Platform

13
00:01:02,500 --> 00:01:07,100
Architecture for Uno Platform supports Windows, Modern Browsers, iOS, macOS 

14
00:01:07,100 --> 00:01:12,000
and Linux with XAML and C# with a single codebase

15
00:01:12,000 --> 00:01:17,100
Windows uses WinUI with Universal Windows Platform running directly against Windows API

16
00:01:17,100 --> 00:01:20,000
and full support for Visual Studio

17
00:01:20,000 --> 00:01:25,500
Modern Browsers use WebAssembly and renders using HTML and CSS

18
00:01:25,500 --> 00:01:32,500
iOS, macOS and Android use Xamarin and are supported by their native libraries UI Kit, App Kit and Android UI

19
00:01:32,500 --> 00:01:36,500
Linux uses SKIA to draw UI on the Canvas

20
00:01:36,500 --> 00:01:43,000
Mappings for Uno Platform allows you to use Universal Windows Platform and APIs to map to native controls

21
00:01:43,000 --> 00:01:48,000
and APIs on each platform, implemented using platform specific APIs

22
00:01:48,000 --> 00:01:54,000
TextBlock on WinUI becomes HTML Paragraph on WebAssembly, UILabel on iOS,

23
00:01:54,000 --> 00:02:00,000
NSTextView on MacOS, TextView on Android and Canvas with SKIA on Linux

24
00:02:00,000 --> 00:02:05,000
WinUI makes it easy to build modern, seamless UIs on every Windows device

25
00:02:05,000 --> 00:02:10,500
for intuitive, accessible and powerful experiences using the latest user interface patterns

26
00:02:10,500 --> 00:02:17,000
WinUI is an open-source user interface layer providing modern controls and styles for building Windows applications

27
00:02:17,000 --> 00:02:25,500
WinUI allows you to target a variety of Windows 10 based devices such as Desktop, Tablet, Xbox, HoloLens and more

28
00:02:25,500 --> 00:02:30,500
WebAssembly is a binary instruction format for a stack-based virtual machine and aims to execute

29
00:02:30,500 --> 00:02:33,500
at native speed on a wide range of platforms

30
00:02:33,500 --> 00:02:39,000
WebAssembly is designed as a portable compilation target for many programming languages like C# 

29
00:02:39,000 --> 00:02:42,500
and enables deployment for client applications in modern browsers

30
00:02:42,500 --> 00:02:48,500
Uno Platform parses XAML into C# then uses WebAssembly to build the app's visual tree with support 

31
00:02:48,500 --> 00:02:53,500
for data binding and implements views and controls using HTML and CSS

32
00:02:53,500 --> 00:02:59,500
Xamarin is an application platform to build iOS, macOS and Android apps with .NET & C#

33
00:02:59,500 --> 00:03:04,000
Xamarin adds to the .NET platform a base framework for accessing native features 

34
00:03:04,000 --> 00:03:09,500
and support for platform-specific libraries and common patterns such as MVVM

35
00:03:09,500 --> 00:03:14,800
Uno Platform parses XAML into C# then uses Xamarin to build the app’s visual tree with support 

36
00:03:14,800 --> 00:03:20,500
for databinding and implements views and controls using each platform’s native UI framework

37
00:03:20,500 --> 00:03:26,500
SKIA is a 2D graphics library providing common APIs across a variety of hardware and software platforms

38
00:03:26,500 --> 00:03:34,000
SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on the SKIA library to render images

39
00:03:34,000 --> 00:03:41,000
Uno Platform parses XAML into C# to build the app’s visual tree rendering this completely with SkiaSharp

40
00:03:41,000 --> 00:03:46,500
with support for databinding and implements the views and controls using native UI framework

41
00:03:46,500 --> 00:03:49,500
with shell support using GTK

42
00:03:49,500 --> 00:03:53,500
Uno Platform has support for .NET libraries such as ReactiveUI

43
00:03:53,500 --> 00:03:57,500
an advanced, composable, functional reactive model-view-viewmodel framework

44
00:03:57,500 --> 00:04:03,000
ReactiveX for asynchronous programming with observable streams

45
00:04:03,000 --> 00:04:08,500
Windows Community Toolkit which is a collection of helper functions, custom controls, and app services

46
00:04:08,500 --> 00:04:14,500
Prism for building XAML based applications using proven patterns and development practices

47
00:04:14,500 --> 00:04:18,500
platform.uno is where you can find out more about the Uno Platform

48
00:04:18,500 --> 00:04:23,500
Discover how to create pixel-perfect multi-platform applications with C# and WinUI

49
00:04:23,500 --> 00:04:28,500
and target Windows, WebAssembly, iOS, MacOS, Android and Linux

50
00:04:28,500 --> 00:04:34,500
See a Gallery of Uno Platform examples in your web browser, applications or code samples,

51
00:04:34,500 --> 00:04:38,500
showcases of work using Uno Platform, full documentation,

52
00:04:38,500 --> 00:04:43,500
information about target platforms supported and read articles

53
00:04:43,500 --> 00:04:47,500
Uno Playground is a convenient way to experiment with the Uno Platform

54
00:04:47,500 --> 00:04:52,000
Snippets that allow you to easily use various XAML-based controls

55
00:04:52,000 --> 00:04:57,500
and XAML Editor allows you to try out any XAML and can use Data Context for data binding

56
00:04:57,500 --> 00:05:02,500
Uno Playground allows you to see what your XAML will look like using Uno Platform on 

57
00:05:02,500 --> 00:05:06,500
desktop, mobile and web at playground.platform.uno

58
00:05:06,500 --> 00:05:11,000
Uno Gallery is a collection of ready-to-use code snippets to speed up multi-platform development 

59
00:05:11,000 --> 00:05:14,000
supporting Light or Dark and Colour Palette Themes

60
00:05:14,000 --> 00:05:20,500
It supports Components such as Button or Navigation View with Features shown such as Acrylic and Path

61
00:05:20,500 --> 00:05:26,000
Uno Gallery allows you to compare and try out themes, components and features on 

62
00:05:26,000 --> 00:05:30,500
desktop, mobile and web at gallery.platform.uno

63
00:05:30,500 --> 00:05:33,500
Getting Started developing using the Uno Platform

64
00:05:33,500 --> 00:05:37,500
Uno Platform can be developed on Windows, Mac and Linux

65
00:05:37,500 --> 00:05:42,500
Environments supported Visual Studio 2019 on Windows for Universal Windows Platform,

66
00:05:42,500 --> 00:05:48,500
WebAssembly, iOS, macOS, Android and Linux. Visual Studio for Mac

67
00:05:48,500 --> 00:05:54,000
Visual Studio Code on Windows, Mac and Linux for WebAssembly projects

68
00:05:54,000 --> 00:05:58,500
and JetBrains Rider on Windows, Mac and Linux

69
00:05:58,500 --> 00:06:02,500
Setup Uno Platform on Windows you need to Install Visual Studio 2019

70
00:06:02,500 --> 00:06:04,500
with the Universal Windows Platform development,

71
00:06:04,500 --> 00:06:10,000
Mobile development with .NET and ASP.NET and web development workloads installed

72
00:06:10,000 --> 00:06:14,500
Then you just need to install the Uno Platform Solution Templates Visual Studio extension

73
00:06:14,500 --> 00:06:16,500
from the Visual Studio Marketplace

74
00:06:16,500 --> 00:06:20,500
You’ll also need macOS if you want to target iOS and macOS

75
00:06:20,500 --> 00:06:25,500
Start using Uno Platform on Windows you need to Launch Visual Studio 2019,

76
00:06:25,500 --> 00:06:28,500
select “Create a new Project” from Get Started,

77
00:06:28,500 --> 00:06:32,000
then choose the “Cross-platform App” project template

78
00:06:32,000 --> 00:06:36,500
and finally set the project name and location and choose Create

79
00:06:36,500 --> 00:06:42,000
Solution created for Uno Platform contains projects for each target platform including Android,

80
00:06:42,000 --> 00:06:47,500
iOS, macOS, Windows using Universal Windows Platform and Web using WebAssembly

81
00:06:47,500 --> 00:06:52,500
The shared project is where you’ll put your shared XAML, C# Code and assets

82
00:06:52,500 --> 00:06:58,000
Set as Startup Project the one you want to launch such as UWP (Universal Windows)

83
00:06:58,000 --> 00:07:01,500
then run the example to see the output “Hello, world!”

84
00:07:01,500 --> 00:07:08,500
Uno Platform is where you can create pixel-perfect multi-platform applications with C# and WinUI

85
00:07:08,500 --> 00:07:14,400
Uno Platform enables modern .NET developers to build applications using a single codebase using XAML 

86
00:07:14,400 --> 00:07:22,500
and C# and target Windows, Modern Browsers using WebAssembly plus iOS, MacOS, Android and Linux

87
00:07:22,500 --> 00:07:27,500
platform.uno is where you can get started with Uno Platform, check out the gallery,

88
00:07:27,500 --> 00:07:30,500
code samples, documentation and more

89
00:07:30,500 --> 00:07:34,000
Uno Platform can be developed on Windows, Mac and Linux

90
00:07:34,000 --> 00:07:39,000
You can create a cross-platform App in Visual Studio 2019 using Uno Platform targeting 

91
00:07:39,000 --> 00:07:44,500
Windows with WinUI, iOS, macOS or Android with Xamarin and Linux with SKIA

92
00:07:44,500 --> 00:07:54,000
Thanks for watching this talk about Uno Platform, you can find out more at tutorialr.com/talks/seriesone