SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Xamarin 101
WHAT YOU NEED TO KNOW TO GET STARTED WITH XAMARIN.FORMS
TODAY!
About Me Chester (Chet) Hartin
Technical Architect @ Concurrency
Focus: C#, APIs, Messaging services, Xamarin.
GitHub: https://github.com/chesterhartin
Twitter: @ChetHartin
About Me
Chester (Chet) Hartin
Tec hnic al Architec t @Concurrency
Foc us: C# , APIs, Messaging servic es, Xamarin.
GitHub: https:/ / github.c om/ c hesterhartin
Twitter: @ChetHartin
Syllabus
Intro To Xamarin
Basic building blocks of Xamarin.Forms
XAML Introduction
Databinding
View Customization
What to do next?
Intro To Xamarin
Why Xamarin when we have Java, Objective-C, Swift?
• This leads to Write Everything Twice (WET) Development
• Xamarin allows us to write for the iOS (8 and up), Android (API 15 / 4.0.3
and up), WFP, MacOS, Smart watches (iOS/Android), Samsung Smart
devices
When should
I use it?
Why Xamarin when we have Flutter, PhoneGap,
Corona, React Native...
• All of these are great tools!
But…
• Your team knows C#/.Net
• You need multiple-platform apps
• You want a native app performance and/or look &
feel
1000 Feet Above
Xamarin.Forms
XAMARIN.FORMS SHARE A UI
DEFINITION*
History Recap
2011
Founded in 2011 as
MonoTouch/Mono For
Android
2013
Renamed & integration into
Visual Studio / Launch Of
Xamarin Studio
2016
Purchased by Microsoft
•Full time development / support
•Free & 100% open-sourced
What Do I
need?
 PC
 Visual Studio 2017 / 2019
 Mac
 Visual Studio for Mac
 Note: iOS development REQUIRES a
Mac to build/test
Basic Building Blocks
Pages
Layouts
Views
Cells
Flexible
Layout
Standard
Controls
Navigation
Custom
Controls
Data
Binding
XAML
Styles +
Triggers
Maps
Pages – Building Block 1
Layouts –
Building
Block 2
Views – Building
Block 3
Button
Label
Entry
Switch
Activity Indicator
Views – Building Block 3 (cont)
Views Android iOS
Button
Label
Entry
Switch
Activity Indicator
Views – Building Block 3 (cont)
 List View
 Table View
 Image
 Slider
 Date Picker
 Progress bar
 Editor
 Map
 Web View
 Open GL View
 Frame
 … And more!
Cells – Building Block 4
 A View Cell (Cell) is a view optimized for data
templates
 Can use layouts
 Great for a reusable template in a List.
XAML
Introduction
 Code time!
 Anatomy of a Xamarin.Forms App
 Content Page
 Views
 Styles
 Layouts
 Stack
 Grid
 Absolute
Databinding
 How do we show information to the
user?
 How do we get user input?
 Model-View-ViewModel (MVVM)
Basics
 View: knows how to display
 ViewModel: knows what data to
display
 Model: the nouns of the system
Flexible
Layout
Standard
Controls
Navigation
Custom
Controls
Data
Binding
XAML
Styles +
Triggers
Maps
Databinding (cont.)
View
XF Content
Page
ViewModel
Class
Model
Class
Data Data
Events
• View: knows how to display data
• ViewModel: knows what data to display
• Model: the nouns of the system. Data Objects
Databinding
(cont.)
 Code Time!
 Bindable Properties
 Binding a Context
 Converters
View Customization
 What if Xamarin.Forms doesn’t behave
the way I want it to?
 Platform Specific Changes
 Effects
 Behaviors
 Custom Renderers
View Customization (cont.)
 Platform-Specifics
 Use functionality that’s only available on
a specific platform
iOS Android
VisualElement.BlurEffect VisualElement.Elevation
VisualElement.IsShadowEnabled Button.UseDefaultPadding
Entry.AdjustsFontSizeToFitWidth Button.UseDefaultShadow
Entry.CursorColor Entry.ImeOptions (set action)
ListView.SeparatorStyle ListView.IsFastScrollEnabled
NavigationPage.HideNavigationBarSeparator NavigationPage.BarHeight
View
Customization
(cont)
 Effects
 AKA “Custom Renderers Lite”
 Allow the native controls on each platform to be
customized
 Typically used for small styling changes
 Benefits:
 Simplify the customization of a control
 Are reusable
 Can be passed as parameters for increased reuse
View
Customization
(cont.)
 Behaviors
 Attach additional functionality to any
Xamarin.Forms View
 Examples
 Allow n-characters in an entry
 Only allow integers to be entered into an entry
View Customization (cont.)
 Custom Renderers
 Lets developers override the out-of-the-box renderers to customize the
appearance/behavior of Xamarin.Forms on each platform
 Think “can I do this with an effect?” first
 Extend a Xamarin.Forms View
 Required when there’s a need to override methods of a platform-specific
control.
View Customization (cont.)
 Code Time!
 Platform-specific
 Effects
 Behaviors
 Custom Renderers
What to do next?
 Try out these device features:
 Accelerometer, Barometer, Battery, Compass, Connectivity State, etc
 Use plugins
 NuGet packages implement and provide a lot of features!
 Xamarin.Essentials - a must for an interactive app
 Microsoft Learn (or Xamarin University until June 2019)
 https://docs.microsoft.com/en-
us/learn/browse/?roles=developer&term=xamarin
 I recommend all the Xamarin.Forms courses
References
 Documentation
 All available online:
 https://docs.microsoft.com/en-us/xamarin/
 Slack
 Get involved
 https://xamarinchat.herokuapp.com/
 Learn the hot MVVM frameworks
 Prism https://prismlibrary.github.io/
 ReactiveUI https://reactiveui.net/
 MVVMCross https://www.mvvmcross.com/
Resources
 Installing Xamarin: https://docs.microsoft.com/en-us/xamarin/get-
started/installation/?pivots=windows
 Build your first app with Xamarin.Forms:
https://www.youtube.com/watch?v=NGvn-pGZFPA
 Xamarin.Forms roadmap:
https://github.com/xamarin/Xamarin.Forms/wiki/Feature-Roadmap
About Me Chester (Chet) Hartin
Technical Architect @ Concurrency
Focus: C#, APIs, Messaging services, Xamarin.
GitHub: https://github.com/chesterhartin
Twitter: @ChetHartin

Weitere ähnliche Inhalte

Was ist angesagt?

Evovle 2016 - Everyone Can Create Beautiful Apps with Material Design
Evovle 2016 - Everyone Can Create Beautiful Apps with Material DesignEvovle 2016 - Everyone Can Create Beautiful Apps with Material Design
Evovle 2016 - Everyone Can Create Beautiful Apps with Material DesignJames Montemagno
 
Xamarin Dev Days Madrid 2017 - Xamarin.Forms
Xamarin Dev Days Madrid 2017 -  Xamarin.FormsXamarin Dev Days Madrid 2017 -  Xamarin.Forms
Xamarin Dev Days Madrid 2017 - Xamarin.FormsJavier Suárez Ruiz
 
State of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and BeyondState of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and BeyondNick Landry
 
Xamarin overview droidcon.tn
Xamarin overview   droidcon.tnXamarin overview   droidcon.tn
Xamarin overview droidcon.tnHoussem Dellai
 
The very first steps to make my first Mobile App with Xamarin
The very first steps to make my first Mobile App with XamarinThe very first steps to make my first Mobile App with Xamarin
The very first steps to make my first Mobile App with XamarinZayen Chagra
 
What's new in Xamarin.Forms?
What's new in Xamarin.Forms?What's new in Xamarin.Forms?
What's new in Xamarin.Forms?James Montemagno
 
Build 2017 - B8099 - What's new in Xamarin.Forms
Build 2017 - B8099 - What's new in Xamarin.FormsBuild 2017 - B8099 - What's new in Xamarin.Forms
Build 2017 - B8099 - What's new in Xamarin.FormsWindows Developer
 
Customizing Xamarin.Forms UI
Customizing Xamarin.Forms UICustomizing Xamarin.Forms UI
Customizing Xamarin.Forms UIXamarin
 
Developing Cross-platform Native Apps with Xamarin
Developing Cross-platform Native Apps with XamarinDeveloping Cross-platform Native Apps with Xamarin
Developing Cross-platform Native Apps with Xamarindanhermes
 
Mobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with XamarinMobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with XamarinNick Landry
 
What's New in Xamarin? - Santo Domingo
What's New in Xamarin? - Santo DomingoWhat's New in Xamarin? - Santo Domingo
What's New in Xamarin? - Santo DomingoJames Montemagno
 
Creating 3 Beautiful Apps At Once - Intro To Xamarin.Forms
Creating 3 Beautiful Apps At Once - Intro To Xamarin.FormsCreating 3 Beautiful Apps At Once - Intro To Xamarin.Forms
Creating 3 Beautiful Apps At Once - Intro To Xamarin.FormsMatthew Soucoup
 
Xamarin Roadshow
Xamarin RoadshowXamarin Roadshow
Xamarin RoadshowSam Basu
 
#XamarinDevDays - Cross Platform Native UI with Xamarin.Forms
#XamarinDevDays - Cross Platform Native UI with Xamarin.Forms#XamarinDevDays - Cross Platform Native UI with Xamarin.Forms
#XamarinDevDays - Cross Platform Native UI with Xamarin.FormsUdara Alwis
 
Visual Studio Toolbox - Introduction To Xamarin.Forms
Visual Studio Toolbox - Introduction To Xamarin.FormsVisual Studio Toolbox - Introduction To Xamarin.Forms
Visual Studio Toolbox - Introduction To Xamarin.FormsJames Montemagno
 
Xamarin first mobile application
Xamarin first mobile applicationXamarin first mobile application
Xamarin first mobile applicationZayen Chagra
 
Xamarin Dev Days - Xamarin.Forms
Xamarin Dev Days -  Xamarin.FormsXamarin Dev Days -  Xamarin.Forms
Xamarin Dev Days - Xamarin.FormsJavier Suárez Ruiz
 

Was ist angesagt? (20)

Xamarin Forms
Xamarin FormsXamarin Forms
Xamarin Forms
 
Evovle 2016 - Everyone Can Create Beautiful Apps with Material Design
Evovle 2016 - Everyone Can Create Beautiful Apps with Material DesignEvovle 2016 - Everyone Can Create Beautiful Apps with Material Design
Evovle 2016 - Everyone Can Create Beautiful Apps with Material Design
 
Xamarin Dev Days Madrid 2017 - Xamarin.Forms
Xamarin Dev Days Madrid 2017 -  Xamarin.FormsXamarin Dev Days Madrid 2017 -  Xamarin.Forms
Xamarin Dev Days Madrid 2017 - Xamarin.Forms
 
State of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and BeyondState of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
 
Xamarin overview droidcon.tn
Xamarin overview   droidcon.tnXamarin overview   droidcon.tn
Xamarin overview droidcon.tn
 
The very first steps to make my first Mobile App with Xamarin
The very first steps to make my first Mobile App with XamarinThe very first steps to make my first Mobile App with Xamarin
The very first steps to make my first Mobile App with Xamarin
 
What's new in Xamarin.Forms?
What's new in Xamarin.Forms?What's new in Xamarin.Forms?
What's new in Xamarin.Forms?
 
Build 2017 - B8099 - What's new in Xamarin.Forms
Build 2017 - B8099 - What's new in Xamarin.FormsBuild 2017 - B8099 - What's new in Xamarin.Forms
Build 2017 - B8099 - What's new in Xamarin.Forms
 
Customizing Xamarin.Forms UI
Customizing Xamarin.Forms UICustomizing Xamarin.Forms UI
Customizing Xamarin.Forms UI
 
Xamarin introduction
Xamarin introductionXamarin introduction
Xamarin introduction
 
Developing Cross-platform Native Apps with Xamarin
Developing Cross-platform Native Apps with XamarinDeveloping Cross-platform Native Apps with Xamarin
Developing Cross-platform Native Apps with Xamarin
 
Mobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with XamarinMobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with Xamarin
 
What's New in Xamarin? - Santo Domingo
What's New in Xamarin? - Santo DomingoWhat's New in Xamarin? - Santo Domingo
What's New in Xamarin? - Santo Domingo
 
Creating 3 Beautiful Apps At Once - Intro To Xamarin.Forms
Creating 3 Beautiful Apps At Once - Intro To Xamarin.FormsCreating 3 Beautiful Apps At Once - Intro To Xamarin.Forms
Creating 3 Beautiful Apps At Once - Intro To Xamarin.Forms
 
Xamarin Roadshow
Xamarin RoadshowXamarin Roadshow
Xamarin Roadshow
 
#XamarinDevDays - Cross Platform Native UI with Xamarin.Forms
#XamarinDevDays - Cross Platform Native UI with Xamarin.Forms#XamarinDevDays - Cross Platform Native UI with Xamarin.Forms
#XamarinDevDays - Cross Platform Native UI with Xamarin.Forms
 
Xamarin Forms
Xamarin FormsXamarin Forms
Xamarin Forms
 
Visual Studio Toolbox - Introduction To Xamarin.Forms
Visual Studio Toolbox - Introduction To Xamarin.FormsVisual Studio Toolbox - Introduction To Xamarin.Forms
Visual Studio Toolbox - Introduction To Xamarin.Forms
 
Xamarin first mobile application
Xamarin first mobile applicationXamarin first mobile application
Xamarin first mobile application
 
Xamarin Dev Days - Xamarin.Forms
Xamarin Dev Days -  Xamarin.FormsXamarin Dev Days -  Xamarin.Forms
Xamarin Dev Days - Xamarin.Forms
 

Ähnlich wie Xamarin 101

Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Xamarin
 
Introduction to Xamarin.Forms
Introduction to Xamarin.FormsIntroduction to Xamarin.Forms
Introduction to Xamarin.FormsBrad Pillow
 
SharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with XmarinSharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with XmarinHector Luciano Jr
 
Introduction to Cross Platform Mobile Apps (Xamarin)
Introduction to Cross Platform Mobile Apps (Xamarin)Introduction to Cross Platform Mobile Apps (Xamarin)
Introduction to Cross Platform Mobile Apps (Xamarin)BizTalk360
 
Xamarin workshop
Xamarin workshopXamarin workshop
Xamarin workshopNguyen Hieu
 
Mike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and PatternsMike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and Patternsukdpe
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightFrank La Vigne
 
What's new and next for mobile development with .NET
What's new and next for mobile development with .NETWhat's new and next for mobile development with .NET
What's new and next for mobile development with .NETJames Montemagno
 
Getting started with Xamarin Forms
Getting started with Xamarin FormsGetting started with Xamarin Forms
Getting started with Xamarin FormsLeomaris Reyes
 
Top reasons why to choose xamarin for mobile app development
Top reasons why to choose xamarin for mobile app developmentTop reasons why to choose xamarin for mobile app development
Top reasons why to choose xamarin for mobile app developmentFugenX
 
Stunning Mobile Apps with the Xamarin Visual Design System​
Stunning Mobile Apps with the Xamarin Visual Design System​Stunning Mobile Apps with the Xamarin Visual Design System​
Stunning Mobile Apps with the Xamarin Visual Design System​James Montemagno
 
How Xamarin Is Revolutionizing Mobile Development
How Xamarin Is Revolutionizing Mobile DevelopmentHow Xamarin Is Revolutionizing Mobile Development
How Xamarin Is Revolutionizing Mobile DevelopmentMentorMate
 
Flying High with Xamarin!
Flying High with Xamarin!Flying High with Xamarin!
Flying High with Xamarin!Sam Basu
 
Best practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata APIBest practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata APISanchit Dua
 
A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010Abram John Limpin
 
Xamarin.Forms Hands On Lab (Begineer)
Xamarin.Forms Hands On Lab (Begineer)Xamarin.Forms Hands On Lab (Begineer)
Xamarin.Forms Hands On Lab (Begineer)Cheah Eng Soon
 
Serverless Computing with Azure Functions and Xamarin
Serverless Computing with Azure Functions and XamarinServerless Computing with Azure Functions and Xamarin
Serverless Computing with Azure Functions and XamarinMark Arteaga
 
Designing mobile applications with xamarin
Designing mobile applications with xamarinDesigning mobile applications with xamarin
Designing mobile applications with xamarinJerel Hass
 

Ähnlich wie Xamarin 101 (20)

Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4
 
Introduction to Xamarin.Forms
Introduction to Xamarin.FormsIntroduction to Xamarin.Forms
Introduction to Xamarin.Forms
 
SharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with XmarinSharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with Xmarin
 
Introduction to Cross Platform Mobile Apps (Xamarin)
Introduction to Cross Platform Mobile Apps (Xamarin)Introduction to Cross Platform Mobile Apps (Xamarin)
Introduction to Cross Platform Mobile Apps (Xamarin)
 
Xamarin workshop
Xamarin workshopXamarin workshop
Xamarin workshop
 
Mike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and PatternsMike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and Patterns
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
 
What's new and next for mobile development with .NET
What's new and next for mobile development with .NETWhat's new and next for mobile development with .NET
What's new and next for mobile development with .NET
 
Getting started with Xamarin Forms
Getting started with Xamarin FormsGetting started with Xamarin Forms
Getting started with Xamarin Forms
 
Xamarin the good, the bad and the ugly
Xamarin  the good, the bad and the uglyXamarin  the good, the bad and the ugly
Xamarin the good, the bad and the ugly
 
Top reasons why to choose xamarin for mobile app development
Top reasons why to choose xamarin for mobile app developmentTop reasons why to choose xamarin for mobile app development
Top reasons why to choose xamarin for mobile app development
 
Stunning Mobile Apps with the Xamarin Visual Design System​
Stunning Mobile Apps with the Xamarin Visual Design System​Stunning Mobile Apps with the Xamarin Visual Design System​
Stunning Mobile Apps with the Xamarin Visual Design System​
 
How Xamarin Is Revolutionizing Mobile Development
How Xamarin Is Revolutionizing Mobile DevelopmentHow Xamarin Is Revolutionizing Mobile Development
How Xamarin Is Revolutionizing Mobile Development
 
Flying High with Xamarin!
Flying High with Xamarin!Flying High with Xamarin!
Flying High with Xamarin!
 
Best practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata APIBest practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata API
 
A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010
 
Xamarin.Forms Hands On Lab (Begineer)
Xamarin.Forms Hands On Lab (Begineer)Xamarin.Forms Hands On Lab (Begineer)
Xamarin.Forms Hands On Lab (Begineer)
 
Serverless Computing with Azure Functions and Xamarin
Serverless Computing with Azure Functions and XamarinServerless Computing with Azure Functions and Xamarin
Serverless Computing with Azure Functions and Xamarin
 
Designing mobile applications with xamarin
Designing mobile applications with xamarinDesigning mobile applications with xamarin
Designing mobile applications with xamarin
 
RUG-Asia - ALM
RUG-Asia - ALMRUG-Asia - ALM
RUG-Asia - ALM
 

Mehr von Chester Hartin

Mehr von Chester Hartin (8)

Proxy pattern
Proxy patternProxy pattern
Proxy pattern
 
Asynchronous programming
Asynchronous programmingAsynchronous programming
Asynchronous programming
 
Elapsed time
Elapsed timeElapsed time
Elapsed time
 
Dependency injection
Dependency injectionDependency injection
Dependency injection
 
Map kit
Map kitMap kit
Map kit
 
Hash tables
Hash tablesHash tables
Hash tables
 
Parallel extensions
Parallel extensionsParallel extensions
Parallel extensions
 
Reflection
ReflectionReflection
Reflection
 

Kürzlich hochgeladen

Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 

Kürzlich hochgeladen (20)

Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

Xamarin 101

  • 1. Xamarin 101 WHAT YOU NEED TO KNOW TO GET STARTED WITH XAMARIN.FORMS TODAY!
  • 2. About Me Chester (Chet) Hartin Technical Architect @ Concurrency Focus: C#, APIs, Messaging services, Xamarin. GitHub: https://github.com/chesterhartin Twitter: @ChetHartin About Me Chester (Chet) Hartin Tec hnic al Architec t @Concurrency Foc us: C# , APIs, Messaging servic es, Xamarin. GitHub: https:/ / github.c om/ c hesterhartin Twitter: @ChetHartin
  • 3.
  • 4. Syllabus Intro To Xamarin Basic building blocks of Xamarin.Forms XAML Introduction Databinding View Customization What to do next?
  • 5. Intro To Xamarin Why Xamarin when we have Java, Objective-C, Swift? • This leads to Write Everything Twice (WET) Development • Xamarin allows us to write for the iOS (8 and up), Android (API 15 / 4.0.3 and up), WFP, MacOS, Smart watches (iOS/Android), Samsung Smart devices
  • 6. When should I use it? Why Xamarin when we have Flutter, PhoneGap, Corona, React Native... • All of these are great tools! But… • Your team knows C#/.Net • You need multiple-platform apps • You want a native app performance and/or look & feel
  • 9. History Recap 2011 Founded in 2011 as MonoTouch/Mono For Android 2013 Renamed & integration into Visual Studio / Launch Of Xamarin Studio 2016 Purchased by Microsoft •Full time development / support •Free & 100% open-sourced
  • 10. What Do I need?  PC  Visual Studio 2017 / 2019  Mac  Visual Studio for Mac  Note: iOS development REQUIRES a Mac to build/test
  • 14. Views – Building Block 3 Button Label Entry Switch Activity Indicator
  • 15. Views – Building Block 3 (cont) Views Android iOS Button Label Entry Switch Activity Indicator
  • 16. Views – Building Block 3 (cont)  List View  Table View  Image  Slider  Date Picker  Progress bar  Editor  Map  Web View  Open GL View  Frame  … And more!
  • 17. Cells – Building Block 4  A View Cell (Cell) is a view optimized for data templates  Can use layouts  Great for a reusable template in a List.
  • 18. XAML Introduction  Code time!  Anatomy of a Xamarin.Forms App  Content Page  Views  Styles  Layouts  Stack  Grid  Absolute
  • 19.
  • 20. Databinding  How do we show information to the user?  How do we get user input?  Model-View-ViewModel (MVVM) Basics  View: knows how to display  ViewModel: knows what data to display  Model: the nouns of the system Flexible Layout Standard Controls Navigation Custom Controls Data Binding XAML Styles + Triggers Maps
  • 21. Databinding (cont.) View XF Content Page ViewModel Class Model Class Data Data Events • View: knows how to display data • ViewModel: knows what data to display • Model: the nouns of the system. Data Objects
  • 22. Databinding (cont.)  Code Time!  Bindable Properties  Binding a Context  Converters
  • 23.
  • 24. View Customization  What if Xamarin.Forms doesn’t behave the way I want it to?  Platform Specific Changes  Effects  Behaviors  Custom Renderers
  • 25. View Customization (cont.)  Platform-Specifics  Use functionality that’s only available on a specific platform iOS Android VisualElement.BlurEffect VisualElement.Elevation VisualElement.IsShadowEnabled Button.UseDefaultPadding Entry.AdjustsFontSizeToFitWidth Button.UseDefaultShadow Entry.CursorColor Entry.ImeOptions (set action) ListView.SeparatorStyle ListView.IsFastScrollEnabled NavigationPage.HideNavigationBarSeparator NavigationPage.BarHeight
  • 26. View Customization (cont)  Effects  AKA “Custom Renderers Lite”  Allow the native controls on each platform to be customized  Typically used for small styling changes  Benefits:  Simplify the customization of a control  Are reusable  Can be passed as parameters for increased reuse
  • 27. View Customization (cont.)  Behaviors  Attach additional functionality to any Xamarin.Forms View  Examples  Allow n-characters in an entry  Only allow integers to be entered into an entry
  • 28. View Customization (cont.)  Custom Renderers  Lets developers override the out-of-the-box renderers to customize the appearance/behavior of Xamarin.Forms on each platform  Think “can I do this with an effect?” first  Extend a Xamarin.Forms View  Required when there’s a need to override methods of a platform-specific control.
  • 29. View Customization (cont.)  Code Time!  Platform-specific  Effects  Behaviors  Custom Renderers
  • 30. What to do next?  Try out these device features:  Accelerometer, Barometer, Battery, Compass, Connectivity State, etc  Use plugins  NuGet packages implement and provide a lot of features!  Xamarin.Essentials - a must for an interactive app  Microsoft Learn (or Xamarin University until June 2019)  https://docs.microsoft.com/en- us/learn/browse/?roles=developer&term=xamarin  I recommend all the Xamarin.Forms courses
  • 31. References  Documentation  All available online:  https://docs.microsoft.com/en-us/xamarin/  Slack  Get involved  https://xamarinchat.herokuapp.com/  Learn the hot MVVM frameworks  Prism https://prismlibrary.github.io/  ReactiveUI https://reactiveui.net/  MVVMCross https://www.mvvmcross.com/
  • 32. Resources  Installing Xamarin: https://docs.microsoft.com/en-us/xamarin/get- started/installation/?pivots=windows  Build your first app with Xamarin.Forms: https://www.youtube.com/watch?v=NGvn-pGZFPA  Xamarin.Forms roadmap: https://github.com/xamarin/Xamarin.Forms/wiki/Feature-Roadmap
  • 33.
  • 34. About Me Chester (Chet) Hartin Technical Architect @ Concurrency Focus: C#, APIs, Messaging services, Xamarin. GitHub: https://github.com/chesterhartin Twitter: @ChetHartin