.NET MAUI Israel 2022
Introduction to .NET MAUI
Moaid Hathot
Senior Software Engineer @ Microsoft | ex-Azure MVP
Moaid.Hathot@outlook.com
@MoaidHathot
https://moaid.codes
https://meetup.com/Code-Digest
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 Maui Island
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 Maui Island
 Hawaii, United States
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 Maui Island
 Hawaii, United States
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 Maui Island
 Hawaii, United States
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 .NET Multi-Platform App UI
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 .NET Multi-Platform App UI
 Android, iOS, macOS, Windows & Samsung Tizen
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 .NET Multi-Platform App UI
 Android, iOS, macOS, Windows & Samsung Tizen
 Evolution of Xamarin.Forms
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 .NET Multi-Platform App UI
 Android, iOS, macOS, Windows & Samsung Tizen
 Evolution of Xamarin.Forms
 Sharing a single code-base
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 .NET Multi-Platform App UI
 Android, iOS, macOS, Windows & Samsung Tizen
 Evolution of Xamarin.Forms
 Sharing a single code-base
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 .NET Multi-Platform App UI
 Android, iOS, macOS, Windows & Samsung Tizen
 Evolution of Xamarin.Forms
 Sharing a single code-base
 Platform-specific code is available
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 .NET Multi-Platform App UI
 Android, iOS, macOS, Windows & Samsung Tizen
 Evolution of Xamarin.Forms
 Sharing a single code-base
 Platform-specific code is available
 For mobile & Desktop
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 Used with
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 Used with
 Windows
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 Used with
 Windows
 Mac
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
Android iOS macOS Windows
Framework .NET for Android .NET for iOS .NET for macOS WinUI 3
CLR Mono Mono Mono CoreCLR
Compilation IL+JIT ARM+AOT Mac Catalyst Win UI 3
About Moaid Hathot
 Senior software Engineer @ Microsoft
 Ex-Azure MVP
 Software Craftsmanship advocate
 Clean Coder
 Co-Founder of Code.Digest();
 https://meetup.com/Code-Digest
 Co-Founder of ILDC’s .NET Bond
Moaid Hathot
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
Demo
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 MVVM
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 MVVM
 Model
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 MVVM
 Model
 View
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 MVVM
 Model
 View
 ViewModel
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 MVVM – Model
 DTOs
 Services
 Domain logic
 Not aware of the View
 Not aware of ViewModels
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 MVVM – Model
 DTOs
 Services
 Domain logic
 Not aware of the View
 Not aware of ViewModels
 The Model is testable
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 MVVM – Model
 DTOs
 Services
 Domain logic
 Not aware of the View
 Not aware of ViewModels
 The Model is testable
 Business logic is reusable
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 MVVM – View
 View Logic
 Structure, layout, appearance
 Xaml (usually)
 Use Data Binding for populating values
 Not aware of business logic implementation
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 MVVM – View
 View Logic
 Structure, layout, appearance
 Xaml (usually)
 Use Data Binding for populating values
 Not aware of business logic implementation
 Views can change or be created without the domain logic
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 MVVM – View
 View Logic
 Structure, layout, appearance
 Xaml (usually)
 Use Data Binding for populating values
 Not aware of business logic implementation
 Views can change or be created without the domain logic
 Same view can use different implementation of ViewModels
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 MVVM – ViewModel
 Expose a contract to the view
 Commands, Properties
 Update the model according to the View
 Not aware of the View
 The view uses DataBinding
 The “contract”
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 MVVM – ViewModel
 Expose a contract to the view
 Commands, Properties
 Update the model according to the View
 Not aware of the View
 The view uses DataBinding
 The “contract”
 ViewModels can be used with different Views
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 MVVM – ViewModel
 Expose a contract to the view
 Commands, Properties
 Update the model according to the View
 Not aware of the View
 The view uses DataBinding
 The “contract”
 ViewModels can be used with different Views
 Testable
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
 MVVM – ViewModel
 Expose a contract to the view
 Commands, Properties
 Update the model according to the View
 Not aware of the View
 The view uses DataBinding
 The “contract”
 ViewModels can be used with different Views
 Testable
 Reusable
.NET MAUI
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
Demo
.NET MAUI Israel 2022
Questions?
Moaid Hathot
Senior Software Engineer @ Microsoft | ex-Azure MVP
Moaid.Hathot@outlook.com
@MoaidHathot
https://moaid.codes
https://meetup.com/Code-Digest
Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI

Introduction to .NET MAUI

  • 1.
    .NET MAUI Israel2022 Introduction to .NET MAUI Moaid Hathot Senior Software Engineer @ Microsoft | ex-Azure MVP Moaid.Hathot@outlook.com @MoaidHathot https://moaid.codes https://meetup.com/Code-Digest Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
  • 2.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI
  • 3.
     Maui Island .NETMAUI Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
  • 4.
     Maui Island Hawaii, United States .NET MAUI Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
  • 5.
     Maui Island Hawaii, United States .NET MAUI Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
  • 6.
     Maui Island Hawaii, United States .NET MAUI Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
  • 7.
     .NET Multi-PlatformApp UI .NET MAUI Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
  • 8.
     .NET Multi-PlatformApp UI  Android, iOS, macOS, Windows & Samsung Tizen .NET MAUI Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
  • 9.
     .NET Multi-PlatformApp UI  Android, iOS, macOS, Windows & Samsung Tizen  Evolution of Xamarin.Forms .NET MAUI Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
  • 10.
     .NET Multi-PlatformApp UI  Android, iOS, macOS, Windows & Samsung Tizen  Evolution of Xamarin.Forms  Sharing a single code-base .NET MAUI Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
  • 11.
     .NET Multi-PlatformApp UI  Android, iOS, macOS, Windows & Samsung Tizen  Evolution of Xamarin.Forms  Sharing a single code-base .NET MAUI Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
  • 12.
     .NET Multi-PlatformApp UI  Android, iOS, macOS, Windows & Samsung Tizen  Evolution of Xamarin.Forms  Sharing a single code-base  Platform-specific code is available .NET MAUI Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
  • 13.
     .NET Multi-PlatformApp UI  Android, iOS, macOS, Windows & Samsung Tizen  Evolution of Xamarin.Forms  Sharing a single code-base  Platform-specific code is available  For mobile & Desktop .NET MAUI Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
  • 14.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI
  • 15.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI  Used with
  • 16.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI  Used with  Windows
  • 17.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI  Used with  Windows  Mac
  • 18.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI Android iOS macOS Windows Framework .NET for Android .NET for iOS .NET for macOS WinUI 3 CLR Mono Mono Mono CoreCLR Compilation IL+JIT ARM+AOT Mac Catalyst Win UI 3
  • 19.
    About Moaid Hathot Senior software Engineer @ Microsoft  Ex-Azure MVP  Software Craftsmanship advocate  Clean Coder  Co-Founder of Code.Digest();  https://meetup.com/Code-Digest  Co-Founder of ILDC’s .NET Bond Moaid Hathot Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
  • 20.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI Demo
  • 21.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI  MVVM
  • 22.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI  MVVM  Model
  • 23.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI  MVVM  Model  View
  • 24.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI  MVVM  Model  View  ViewModel
  • 25.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI  MVVM – Model  DTOs  Services  Domain logic  Not aware of the View  Not aware of ViewModels
  • 26.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI  MVVM – Model  DTOs  Services  Domain logic  Not aware of the View  Not aware of ViewModels  The Model is testable
  • 27.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI  MVVM – Model  DTOs  Services  Domain logic  Not aware of the View  Not aware of ViewModels  The Model is testable  Business logic is reusable
  • 28.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI  MVVM – View  View Logic  Structure, layout, appearance  Xaml (usually)  Use Data Binding for populating values  Not aware of business logic implementation
  • 29.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI  MVVM – View  View Logic  Structure, layout, appearance  Xaml (usually)  Use Data Binding for populating values  Not aware of business logic implementation  Views can change or be created without the domain logic
  • 30.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI  MVVM – View  View Logic  Structure, layout, appearance  Xaml (usually)  Use Data Binding for populating values  Not aware of business logic implementation  Views can change or be created without the domain logic  Same view can use different implementation of ViewModels
  • 31.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI  MVVM – ViewModel  Expose a contract to the view  Commands, Properties  Update the model according to the View  Not aware of the View  The view uses DataBinding  The “contract”
  • 32.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI  MVVM – ViewModel  Expose a contract to the view  Commands, Properties  Update the model according to the View  Not aware of the View  The view uses DataBinding  The “contract”  ViewModels can be used with different Views
  • 33.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI  MVVM – ViewModel  Expose a contract to the view  Commands, Properties  Update the model according to the View  Not aware of the View  The view uses DataBinding  The “contract”  ViewModels can be used with different Views  Testable
  • 34.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI  MVVM – ViewModel  Expose a contract to the view  Commands, Properties  Update the model according to the View  Not aware of the View  The view uses DataBinding  The “contract”  ViewModels can be used with different Views  Testable  Reusable
  • 35.
    .NET MAUI Code.Digest |.NET MAUI 2022 | Introduction to .NET MAUI Demo
  • 36.
    .NET MAUI Israel2022 Questions? Moaid Hathot Senior Software Engineer @ Microsoft | ex-Azure MVP Moaid.Hathot@outlook.com @MoaidHathot https://moaid.codes https://meetup.com/Code-Digest Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI