James
Montemagno
Principal Program Manager – Mobile Developer Tools,
Microsoft
motz@microsoft.com Montemagno.com @JamesMontemagno
Weekly development podcast
mergeconflict.fm
Weekly development show
xamarinshow.com
.NET
What is Xamarin?
An open source app platform
from Microsoft for
building modern & performant
iOS, Android, macOS,
watchOS, & tvOS apps with .NET.
Why Xamarin Now?
Software drives more of the things we do every day.
New challenges
More devices Emerging platforms Data & intelligence
App Development
With Xamarin
Productive environment
Maximize code reuse
Native performance & integrations
Expansive ecosystem
Visual Studio 2019
Visual Studio 2019 for Mac.NET Centric
Unity
Xamarin
Azure
Shared C#
Business Logic • Platform APIs • User Interface
Xamarin App Architecture
Shared C# codebase • 100% native API access • High performance
.NET
C# C# C#
MapKit UIKit SiriKit ARKit CoreML
Fingerprint Bluetooth Picture-in-Picture Geolocation NFC
Xamarin App Architecture
Shared C#
Business Logic • Platform APIs • User Interface
.NET
C# C# C#
Xamarin.Essentials
aka.ms/xamarinessentials
Flashlight
Geolocation
Preferences
Device Info
Device Display Info
Secure Settings
Accelerometer
Battery
Clipboard
Compass
Connectivity
Data Transfer
Email
File SystemGeocoding
Gyroscope
Magnetometer
Phone Dialer
Screen Lock
Sms
Text to Speech
Vibration
Xamarin.Essentials: Cross-Platform Native APIs
Shared C#
Business Logic • User Interface
.NET
C# C# C#
Xamarin.Essentials
An open source mobile UI framework
from Microsoft for building
iOS, Android, & Windows apps with .NET
from a single shared codebase.
Xamarin.Forms: Cross-Platform Native UI
.NET
C# C#
Shared C#
Business Logic
Xamarin.Essentials
C#
Xamarin.Forms - UI
Under The Hood
On average Xamarin developers share
80% of code
across mobile apps.
LIBRARIES
INFRASTRUCTURE
.NET
.NET – A unified platform
DESKTOP WEB CLOUD MOBILE GAMING IoT AI
Native performance
Xamarin.iOS Xamarin.Android
ARM
BINARY
Runs
natively
.APPAOT
.NET
C#
Bindings
.APKCompile
and Link
.NET
C#
Bindings
IL
+
JIT
Runs
natively
.NET
C#
Bindings
✓ Always up-to-date
Same-day support:
• iOS 5
• iOS 6
• iOS 7
• iOS 8
• iOS 9
• iOS 10
• iOS 11
• iOS 12
Support for:
• iOS Extensions
• Apple Watch
• Apple TV
• Android Wear
• Amazon Fire TV
• and more
Xamarin.Forms
Deep Dive
What’s included in Xamarin.Forms
✓ 40+ Pages, layouts, and controls
(Build from C# or XAML)
✓ Two-way data binding
✓ Navigation
✓ Visual State Manager
✓ Animation API
✓ Dependency Service
✓ Messaging CenterShared C#
Business Logic
.NET
C# C# C#
Xamarin.Essentials
Xamarin.Forms - UI
Pages & Layouts
ActivityIndicator BoxView Button DatePicker Editor
Entry Image Label ListView Map
OpenGLView Picker ProgressBar SearchBar Slider
Stepper TableView TimePicker WebView EntryCell
ImageCell SwitchCell TextCell ViewCell
Controls
ImageButton
CarouselView CollectionView
Xamarin & Xamarin.Forms ecosystem
Built-in UI Tweaks
Platform Specifics
Provides a structure for your application
• A single place to describe the visual structure of an application.
• A common navigation user interface.
• A navigation service with deep linking.
• An integrated search handler.
Original - Coinbase
Original - Quantas
Dribble - Mockup
https://www.thewissen.io/travel-broadens-the-mind/
Integrations
Azure
Virtual
Machines
Azure App
Service Azure Service
Fabric
Azure Kubernetes
Service (AKS)
Azure SignalR
Service
Azure Functions
.NET cloud apps run best in Azure
Azure
Cognitive
Services
Azure Storage
Azure SQL
Database
Azure Cosmos
DB
Azure App
Insights
And many
more…
Complete DevOps solution
Azure DevOps
<//>
Developers
Test CloudCode Repository Build + Deploy User Beta Testing Monitoring/Analytics
.NET
Get started today
aka.ms/xamarin
Thank you.
James
Montemagno
Principal Program Manager – Mobile Developer Tools,
Microsoft
motz@microsoft.com Montemagno.com @JamesMontemagno
Weekly development podcast
mergeconflict.fm
Weekly development show
xamarinshow.com

Introduction to Mobile Development with Xamarin -DotNet Westide