SlideShare a Scribd company logo
1 of 36
.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

More Related Content

Similar to Introduction to .NET MAUI

AD305: IBM Sametime iWidgets: Extending Connections' Use of Sametime
AD305: IBM Sametime iWidgets: Extending Connections' Use of SametimeAD305: IBM Sametime iWidgets: Extending Connections' Use of Sametime
AD305: IBM Sametime iWidgets: Extending Connections' Use of Sametime
Jason Cheung
 

Similar to Introduction to .NET MAUI (20)

Top Reasons To Choose Vue.js For Better Web UI Development
Top Reasons To Choose Vue.js For Better Web UI DevelopmentTop Reasons To Choose Vue.js For Better Web UI Development
Top Reasons To Choose Vue.js For Better Web UI Development
 
OPS Executive insights Webinar - Tanzu Slides
OPS Executive insights Webinar - Tanzu SlidesOPS Executive insights Webinar - Tanzu Slides
OPS Executive insights Webinar - Tanzu Slides
 
apidays LIVE JAKARTA - Take control of your microservices with App Mesh by Ak...
apidays LIVE JAKARTA - Take control of your microservices with App Mesh by Ak...apidays LIVE JAKARTA - Take control of your microservices with App Mesh by Ak...
apidays LIVE JAKARTA - Take control of your microservices with App Mesh by Ak...
 
ECPPM Keynote: don't forget about data consumption
ECPPM Keynote: don't forget about data consumptionECPPM Keynote: don't forget about data consumption
ECPPM Keynote: don't forget about data consumption
 
Better Digital Products with Micro Frontends and Modyo
Better Digital Products with Micro Frontends and ModyoBetter Digital Products with Micro Frontends and Modyo
Better Digital Products with Micro Frontends and Modyo
 
New Capabilities and Product Strategy for .NET on PCF
New Capabilities and Product Strategy for .NET on PCF New Capabilities and Product Strategy for .NET on PCF
New Capabilities and Product Strategy for .NET on PCF
 
Azure Lowlands 2020 - API management for microservices in a hybrid and multi-...
Azure Lowlands 2020 - API management for microservices in a hybrid and multi-...Azure Lowlands 2020 - API management for microservices in a hybrid and multi-...
Azure Lowlands 2020 - API management for microservices in a hybrid and multi-...
 
AD305: IBM Sametime iWidgets: Extending Connections' Use of Sametime
AD305: IBM Sametime iWidgets: Extending Connections' Use of SametimeAD305: IBM Sametime iWidgets: Extending Connections' Use of Sametime
AD305: IBM Sametime iWidgets: Extending Connections' Use of Sametime
 
AD305:
AD305: AD305:
AD305:
 
Pivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookPivotal Platform - December Release A First Look
Pivotal Platform - December Release A First Look
 
Testing Strategy in Micro Frontend architecture
Testing Strategy in Micro Frontend architectureTesting Strategy in Micro Frontend architecture
Testing Strategy in Micro Frontend architecture
 
EVERYTHING AS CODE: API-GATEWAY, DEVELOPER PORTAL UND GRAPHQL
EVERYTHING AS CODE: API-GATEWAY, DEVELOPER PORTAL UND GRAPHQLEVERYTHING AS CODE: API-GATEWAY, DEVELOPER PORTAL UND GRAPHQL
EVERYTHING AS CODE: API-GATEWAY, DEVELOPER PORTAL UND GRAPHQL
 
Introduction to the Yahoo! Mojito Node.js MVC
Introduction to the Yahoo! Mojito Node.js MVCIntroduction to the Yahoo! Mojito Node.js MVC
Introduction to the Yahoo! Mojito Node.js MVC
 
Yahoo! Hack India: Hyderabad | Introduction to the Yahoo! Mojito Node.js MVC
Yahoo! Hack India: Hyderabad | Introduction to the Yahoo! Mojito Node.js MVCYahoo! Hack India: Hyderabad | Introduction to the Yahoo! Mojito Node.js MVC
Yahoo! Hack India: Hyderabad | Introduction to the Yahoo! Mojito Node.js MVC
 
API First or Events First: Is it a Binary Choice?
API First or Events First: Is it a Binary Choice?API First or Events First: Is it a Binary Choice?
API First or Events First: Is it a Binary Choice?
 
API First or Events First: Is it a Binary Choice?
API First or Events First: Is it a Binary Choice?  API First or Events First: Is it a Binary Choice?
API First or Events First: Is it a Binary Choice?
 
Micro-Frontends JSVidCon
Micro-Frontends JSVidConMicro-Frontends JSVidCon
Micro-Frontends JSVidCon
 
Continuous workflow for a large react native app - mobile at wix
Continuous workflow for a large react native app - mobile at wixContinuous workflow for a large react native app - mobile at wix
Continuous workflow for a large react native app - mobile at wix
 
Microsoft Ignite 2019 - API management for microservices in a hybrid and mult...
Microsoft Ignite 2019 - API management for microservices in a hybrid and mult...Microsoft Ignite 2019 - API management for microservices in a hybrid and mult...
Microsoft Ignite 2019 - API management for microservices in a hybrid and mult...
 
State of Steeltoe 2020
State of Steeltoe 2020State of Steeltoe 2020
State of Steeltoe 2020
 

More from Moaid Hathot

More from Moaid Hathot (20)

Demystifying C#'s Interpolated string Handlers
Demystifying C#'s Interpolated string HandlersDemystifying C#'s Interpolated string Handlers
Demystifying C#'s Interpolated string Handlers
 
Azure Bicep for Developers
Azure Bicep for DevelopersAzure Bicep for Developers
Azure Bicep for Developers
 
Demystifying C#'s Interpolated string Handlers
Demystifying C#'s Interpolated string HandlersDemystifying C#'s Interpolated string Handlers
Demystifying C#'s Interpolated string Handlers
 
ChatGPT and Beyond Using AI Tools to Enhance Academic Researc
ChatGPT and Beyond Using AI Tools to Enhance Academic ResearcChatGPT and Beyond Using AI Tools to Enhance Academic Researc
ChatGPT and Beyond Using AI Tools to Enhance Academic Researc
 
Dapr- Distributed Application Runtime
Dapr- Distributed Application RuntimeDapr- Distributed Application Runtime
Dapr- Distributed Application Runtime
 
What's coming in C# 11
What's coming in C# 11What's coming in C# 11
What's coming in C# 11
 
What's new in C# 11
What's new in C# 11What's new in C# 11
What's new in C# 11
 
Best of build 2021 - C# 10 & .NET 6
Best of build 2021 -  C# 10 & .NET 6Best of build 2021 -  C# 10 & .NET 6
Best of build 2021 - C# 10 & .NET 6
 
What's new in c# 10
What's new in c# 10What's new in c# 10
What's new in c# 10
 
Developer cloud roadmap keynote
Developer cloud roadmap keynoteDeveloper cloud roadmap keynote
Developer cloud roadmap keynote
 
What's new in c# 10
What's new in c# 10What's new in c# 10
What's new in c# 10
 
Intro to Azure Static Web Apps
Intro to Azure Static Web AppsIntro to Azure Static Web Apps
Intro to Azure Static Web Apps
 
About me - Atidna
About me - AtidnaAbout me - Atidna
About me - Atidna
 
About me - Rothschild Partnerships
About me - Rothschild PartnershipsAbout me - Rothschild Partnerships
About me - Rothschild Partnerships
 
What's coming in c# 9.0
What's coming in c# 9.0What's coming in c# 9.0
What's coming in c# 9.0
 
What's Coming in C# 9.0
What's Coming in C# 9.0What's Coming in C# 9.0
What's Coming in C# 9.0
 
Introduction to azure
Introduction to azureIntroduction to azure
Introduction to azure
 
Distributed Application Runtime (Dapr) - Azure Israel 2020
Distributed Application Runtime (Dapr) - Azure Israel 2020Distributed Application Runtime (Dapr) - Azure Israel 2020
Distributed Application Runtime (Dapr) - Azure Israel 2020
 
Dapr: distributed application runtime
Dapr: distributed application runtimeDapr: distributed application runtime
Dapr: distributed application runtime
 
Dapr: the glue to your microservices
Dapr: the glue to your microservicesDapr: the glue to your microservices
Dapr: the glue to your microservices
 

Recently uploaded

Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Lisi Hocke
 

Recently uploaded (20)

Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?
 

Introduction to .NET MAUI

  • 1. .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
  • 2. .NET MAUI Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
  • 3.  Maui Island .NET MAUI 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-Platform App UI .NET MAUI Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
  • 8.  .NET Multi-Platform App UI  Android, iOS, macOS, Windows & Samsung Tizen .NET MAUI Code.Digest | .NET MAUI 2022 | Introduction to .NET MAUI
  • 9.  .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
  • 10.  .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
  • 11.  .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
  • 12.  .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
  • 13.  .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
  • 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 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