Slide 1

Slide 1 text

@mallibone Creating cross-platform applications with .NET Maui Mark Allibone Rey Technology

Slide 2

Slide 2 text

@mallibone

Slide 3

Slide 3 text

@mallibone

Slide 4

Slide 4 text

@mallibone .NET MAUI the evolution of Xamarin Forms

Slide 5

Slide 5 text

@mallibone

Slide 6

Slide 6 text

@mallibone “Can I do X with C# on Windows?”

Slide 7

Slide 7 text

@mallibone “Can I do X with C# on Windows?” – No one ever….

Slide 8

Slide 8 text

@mallibone “Can I do X with C# on Android/iOS/Mac?”

Slide 9

Slide 9 text

@mallibone “Can I do X with C# on Android/iOS/Mac?” “Yes!”

Slide 10

Slide 10 text

@mallibone “Can I do X with C# on Android/iOS/Mac?” “Yes! And enjoy .NET + Plattfrorm Framework + many of your favourite NuGet packages.”

Slide 11

Slide 11 text

@mallibone Show me the code

Slide 12

Slide 12 text

@mallibone

Slide 13

Slide 13 text

@mallibone

Slide 14

Slide 14 text

@mallibone

Slide 15

Slide 15 text

@mallibone

Slide 16

Slide 16 text

@mallibone

Slide 17

Slide 17 text

@mallibone

Slide 18

Slide 18 text

@mallibone

Slide 19

Slide 19 text

@mallibone

Slide 20

Slide 20 text

@mallibone

Slide 21

Slide 21 text

@mallibone

Slide 22

Slide 22 text

@mallibone

Slide 23

Slide 23 text

@mallibone

Slide 24

Slide 24 text

@mallibone

Slide 25

Slide 25 text

@mallibone

Slide 26

Slide 26 text

@mallibone Single Project

Slide 27

Slide 27 text

@mallibone Multi Targeting Access Platform Specific Features • Partial Classes • Conditional Compilation e.g. #if ANDROID Single Project

Slide 28

Slide 28 text

@mallibone

Slide 29

Slide 29 text

@mallibone .NET MAUI Architecture

Slide 30

Slide 30 text

@mallibone .NET MAUI XAML Blazor .NET MAUI Comet Fabulous? .NET MAUI iOS Android Windows Linux? macOS Web? UI Framework Framework Platform .NET MAUI Architecture Tizen

Slide 31

Slide 31 text

@mallibone Evolving Xamarin.Forms to .NET MAUI Xamarin.Forms .NET MAUI Platforms iOS + Android iOS, Android, macOS, Windows Minimum Framework (PLC) .NET Standard 1.0 .NET 6.0 Platform-Specific Implementation Renderers Handlers Installation NuGet Package .NET Workload .NET Solution Architecture Multi-Project Single Project

Slide 32

Slide 32 text

@mallibone MAUI Deep Dive in Code

Slide 33

Slide 33 text

@mallibone

Slide 34

Slide 34 text

@mallibone

Slide 35

Slide 35 text

@mallibone • .NET MAUI Single Project makes Fonts and Images easier • Architecture Pattern MVVM • MAUI Graphics for some extra Pizzazz Demo Highlights

Slide 36

Slide 36 text

@mallibone Coded UI vs XAML

Slide 37

Slide 37 text

@mallibone .NET MAUI XAML Blazor Hybrid .NET MAUI Comet Fabulous? .NET MAUI iOS Android Windows Linux? macOS Web? UI Framework Framework Platform .NET MAUI Architecture

Slide 38

Slide 38 text

@mallibone

Slide 39

Slide 39 text

@mallibone

Slide 40

Slide 40 text

@mallibone What about the Xamarin Essentials?

Slide 41

Slide 41 text

@mallibone Essentials It’s all part of .NET MAUI

Slide 42

Slide 42 text

@mallibone https://github.com/CommunityToolkit/Maui

Slide 43

Slide 43 text

@mallibone How to migrate Xamarin Forms apps?

Slide 44

Slide 44 text

@mallibone Migration Steps • Remove Xamarin Forms NuGet package • Add .NET MAUI workload • Enable MAUI in your .csproj: true • Update Namespaces: using Xamarin.Forms ➡ using Microsoft.Maui • Use the dotnet upgrade assistant • iOS and Android Only Xamarin Forms to .NET MAUI

Slide 45

Slide 45 text

@mallibone

Slide 46

Slide 46 text

No content

Slide 47

Slide 47 text

No content

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

Thank you for your time! Mark Allibone @mallibone Rey Technology https://mallibone.com https://nullpointers.io https://github.com/dotnet/maui https://bit.ly/3vGrM9C