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

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
Mobio Solutions
 
OPS Executive insights Webinar - Tanzu Slides
OPS Executive insights Webinar - Tanzu SlidesOPS Executive insights Webinar - Tanzu Slides
OPS Executive insights Webinar - Tanzu Slides
VMware Tanzu
 
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...
apidays
 
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
Léon Berlo
 
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
Emma Parsons
 
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
VMware Tanzu
 
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-...
Tom Kerkhove
 
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 SametimeJason Cheung
 
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
VMware Tanzu
 
Testing Strategy in Micro Frontend architecture
Testing Strategy in Micro Frontend architectureTesting Strategy in Micro Frontend architecture
Testing Strategy in Micro Frontend architecture
vodQA
 
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
juliebardinjimenez1
 
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
Avinash Chukka
 
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
Yahoo Developer Network
 
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?
Rohit Kelapure
 
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?
VMware Tanzu
 
Micro-Frontends JSVidCon
Micro-Frontends JSVidConMicro-Frontends JSVidCon
Micro-Frontends JSVidCon
Amir Zuker
 
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
Shalom Yerushalmy
 
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...
Tom Kerkhove
 
State of Steeltoe 2020
State of Steeltoe 2020State of Steeltoe 2020
State of Steeltoe 2020
VMware Tanzu
 

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

Demystifying C#'s Interpolated string Handlers
Demystifying C#'s Interpolated string HandlersDemystifying C#'s Interpolated string Handlers
Demystifying C#'s Interpolated string Handlers
Moaid Hathot
 
Azure Bicep for Developers
Azure Bicep for DevelopersAzure Bicep for Developers
Azure Bicep for Developers
Moaid Hathot
 
Demystifying C#'s Interpolated string Handlers
Demystifying C#'s Interpolated string HandlersDemystifying C#'s Interpolated string Handlers
Demystifying C#'s Interpolated string Handlers
Moaid Hathot
 
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
Moaid Hathot
 
Dapr- Distributed Application Runtime
Dapr- Distributed Application RuntimeDapr- Distributed Application Runtime
Dapr- Distributed Application Runtime
Moaid Hathot
 
What's coming in C# 11
What's coming in C# 11What's coming in C# 11
What's coming in C# 11
Moaid Hathot
 
What's new in C# 11
What's new in C# 11What's new in C# 11
What's new in C# 11
Moaid Hathot
 
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
Moaid Hathot
 
What's new in c# 10
What's new in c# 10What's new in c# 10
What's new in c# 10
Moaid Hathot
 
Developer cloud roadmap keynote
Developer cloud roadmap keynoteDeveloper cloud roadmap keynote
Developer cloud roadmap keynote
Moaid Hathot
 
What's new in c# 10
What's new in c# 10What's new in c# 10
What's new in c# 10
Moaid Hathot
 
Intro to Azure Static Web Apps
Intro to Azure Static Web AppsIntro to Azure Static Web Apps
Intro to Azure Static Web Apps
Moaid Hathot
 
About me - Atidna
About me - AtidnaAbout me - Atidna
About me - Atidna
Moaid Hathot
 
About me - Rothschild Partnerships
About me - Rothschild PartnershipsAbout me - Rothschild Partnerships
About me - Rothschild Partnerships
Moaid Hathot
 
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
Moaid Hathot
 
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
Moaid Hathot
 
Introduction to azure
Introduction to azureIntroduction to azure
Introduction to azure
Moaid Hathot
 
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
Moaid Hathot
 
Dapr: distributed application runtime
Dapr: distributed application runtimeDapr: distributed application runtime
Dapr: distributed application runtime
Moaid Hathot
 
Dapr: the glue to your microservices
Dapr: the glue to your microservicesDapr: the glue to your microservices
Dapr: the glue to your microservices
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

Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 

Recently uploaded (20)

Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 

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