Weekly development podcast
mergeconflict.fm
Weekly development show
xamarinshow.com
James
Montemagno
Principal Program Manager – Mobile Developer Tools,
Microsoft
motz@microsoft.com Montemagno.com @JamesMontemagno
.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
.NET Centric Visual Studio 2019 for Mac
Unity
Xamarin
Azure
Xamarin App Architecture
.NET
C# C# C#
Shared C#
Business Logic • Platform APIs • User Interface
Shared C# codebase • 100% native API access • High performance
MapKit UIKit SiriKit ARKit CoreML
Fingerprint Bluetooth Picture-in-Picture Geolocation NFC
Xamarin App Architecture
.NET
C# C# C#
Shared C#
Business Logic • Platform APIs • User Interface
Xamarin.Essentials
Secure Settings Sms
Preferences
Flashlight
Clipboard Gyroscope
Magnetometer
Geolocation
Phone Dialer
Device Display Info
Email
Device Info Battery
Compass
Accelerometer Screen Lock
Data Transfer Text to Speech
Geocoding File System Connectivity
Vibration aka.ms/xamarinessentials
Xamarin.Essentials: Cross-Platform Native APIs
.NET
C# C# C#
Xamarin.Essentials
Shared C#
Business Logic • User Interface
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# C#
Xamarin.Forms - UI
Xamarin.Essentials
Shared C#
Business Logic
Under The Hood
On average Xamarin developers share
80% of code
across mobile apps.
.NET – A unified platform
DESKTOP WEB CLOUD MOBILE GAMING IoT AI
.NET
LIBRARIES
INFRASTRUCTURE
Native performance
IL
.NET
.NET
ARM
BINARY .NET +
JIT
C#
C# AOT .APP C# Compile
and Link .APK
Runs Runs
Bindings
Bindings natively Bindings natively
Xamarin.iOS Xamarin.Android
✓ Always up-to-date
Same-day support: Support for:
• iOS 5 • iOS Extensions
• iOS 6 • Apple Watch
• iOS 7
• Apple TV
• iOS 8
• iOS 9 • Android Wear
• iOS 10 • Amazon Fire TV
• iOS 11 • and more
• iOS 12
Xamarin.Forms
Deep Dive
What’s included in Xamarin.Forms
.NET
✓ 40+ Pages, layouts, and controls
C# C# C# (Build from C# or XAML)
✓ Two-way data binding
Xamarin.Forms - UI ✓ Navigation
✓ Visual State Manager
Xamarin.Essentials
✓ Animation API
✓ Dependency Service
Shared C# ✓ Messaging Center
Business Logic
Pages & Layouts
Controls
ActivityIndicator BoxView Button DatePicker Editor
Entry Image Label ListView Map
OpenGLView Picker ProgressBar SearchBar Slider
Stepper TableView TimePicker WebView EntryCell
ImageCell SwitchCell TextCell ViewCell ImageButton
CarouselView CollectionView
Xamarin & Xamarin.Forms ecosystem
Platform Specifics
Built-in UI Tweaks
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
.NET cloud apps run best in Azure Azure Storage
Azure Cosmos
Azure Functions DB
Azure App Azure App
Service Azure Service Insights
Azure Fabric Azure SignalR Azure SQL
Virtual Service Azure Database
Machines Azure Kubernetes Cognitive
Service (AKS) Services
And many
more…
Azure DevOps
Complete DevOps solution
Code Repository Build + Deploy Test Cloud User Beta Testing Monitoring/Analytics
<//>
Developers
.NET
Get started today
aka.ms/xamarin
Weekly development podcast
Thank you.
mergeconflict.fm
Weekly development show
xamarinshow.com
James
Montemagno
Principal Program Manager – Mobile Developer Tools,
Microsoft
motz@microsoft.com Montemagno.com @JamesMontemagno