Create native iOS & Android apps
with Visual Studio and Xamarin
James Montemagno
@JamesMontemagno
Who’s this guy?
James
Montemagno
Principal Program Manager – Xamarin, Microsoft
motz@microsoft.com motzcod.es @JamesMontemagno
Weekly development podcast
mergeconflict.fm
Microsoft – Your Complete Mobile Solution
What is native?
Native iOS and Android Development with Xamarin
Architecting mobile apps
Silo approach
iOS WindowsAndroid
Objective-C
Xcode
C#
Visual Studio
Java
Android Studio
No shared code • Many languages and development environments • Multiple teams
Write once, run anywhere
Lua
Javascript
Actionscript
HTML+CSS
Limited native API access • Slow performance • Poor user experience
App
generator
iOS C# UI Windows C# UIAndroid C# UI
Shared C# logic
Xamarin’s unique approach
Shared C# codebase • 100% native API access • High performance
Code sharing stats
Mac
iOS
Android
Windows Phone
iCircuit Touch Draw
86%
14%
72%
28%
70%
30%
61%
39%
88%
12%
76%
24%
90%
10%
Windows APIs
Microsoft.Phone Microsoft.Networking Windows.Storage Windows.Foundation Microsoft.Devices
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
C#
iOS – 100% API coverage
MapKit UIKit iBeacon CoreGraphics CoreMotion
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
C#
Android – 100% API coverage
Text-to-speech ActionBar Printing Framework Renderscript NFC
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
C#
Native performance
Xamarin.iOS does full Ahead Of Time
(AOT) compilation to produce an ARM
binary for Apple’s App Store.
Xamarin.Android takes advantage
of Just In Time (JIT) compilation on
the Android device.
ARM
BINARY
Runs
natively
.APPAOT
.NET
C#
Bindings
.APKCompile
and Link
.NET
C#
Bindings
IL
+
JIT
Runs
natively
✓ Always up-to-date
Same-day support:
• iOS 5
• iOS 6
• iOS 7
• iOS 8
• iOS 9
• iOS 10
Full support for:
• Apple Watch
• Apple TV
• Android Wear
• Amazon Fire TV
• Google Glass
• and much more
Visual Studio Xamarin Studio
Anything you can
do in Objective-C,
Swift, or Java can
be done in C#
and Visual Studio
with Xamarin
Xamarin Platform is included
for free in Visual Studio
Including Community Edition
Get Xamarin Today
Xamarin.com/Download
Open Source – open.xamarin.com
App building time
Sharing Code
1 Assembly
Multiple Platforms
Including:
Xamarin.iOS and Xamarin.Android
Portable Class Libraries – Profile Based
Share with
ASP.NET Core
.NET Core
and More!
Portable Class Libraries - netstandard
Shared Projects
NuGet
Simplifying Development
Shared C# Logic
What about this stuff?
Platform Specific Code
What if we didn’t have to
write this code?
What if we could access it
from shared code?
UI+APIs UI + APIsUI + APIs
Battery
GPS
Lights
Notifications
Settings
Text To Speech
Battery
GPS
Lights
Notifications
Settings
Text To Speech
Battery
GPS
Lights
Notifications
Settings
Text To Speech
TextToSpeech
Speak(“Hello World”);
AVSpeechSynthesizer SpeechSynthesizer
A Better API
Plugins for Xamarin
Common API
Xamarin.com/plugins
Plugin Time
Build native UIs for iOS, Android, and Windows
from a single, shared C# codebase.
Meet Xamarin.Forms
Xamarin + Xamarin.Forms
Traditional Xamarin approach With Xamarin.Forms:
More code-sharing, all native
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Logic Shared C# Logic
Xamarin.Forms
What’s included
✓ 40+ Pages, layouts, and controls
(Build from code behind or XAML)
✓ Two-way data binding
✓ Navigation
✓ Animation API
✓ Dependency Service
✓ Messaging Center
Shared C# Logic
Shared UI Code
Pages
Stack Absolute Relative Grid ContentView ScrollView Frame
Content MasterDetail Navigation Tabbed Carousel
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
Xamarin.Forms ecosystem
Native UI from shared code
<?xml version="1.0" encoding="UTF-8"?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyApp.MainPage">
<TabbedPage.Children>
<ContentPage Title="Profile" Icon="Profile.png">
<StackLayout Spacing="20" Padding="20"
VerticalOptions="Center">
<Entry Placeholder="Username"
Text="{Binding Username}"/>
<Entry Placeholder="Password"
Text="{Binding Password}"
IsPassword="true"/>
<Button Text="Login" TextColor="White"
BackgroundColor="#77D065"
Command="{Binding LoginCommand}"/>
</StackLayout>
</ContentPage>
<ContentPage Title="Settings" Icon="Settings.png">
<!-- Settings -->
</ContentPage>
</TabbedPage.Children>
</TabbedPage>
App building time
Integration & Delivery
Test
Build
Distribute & Monitor
Microsoft & Xamarin: Your Complete Mobile Solution
Develop Test Build Distribute Monitor
Thank You!
James
Montemagno
Principal Program Manager – Xamarin, Microsoft
motz@microsoft.com motzcod.es @JamesMontemagno
Weekly development podcast
mergeconflict.fm
Q&A

More Related Content

PDF
Azure App Service Helpers
PDF
End to-end native iOS, Android and Windows apps wtih Xamarin
PDF
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
PDF
Introduction to Mobile Development with Xamarin -DotNet Westide
PDF
Introduction to Xamarin for Visual Studio 2017
PDF
Visual Studio 2017 Launch Event
PDF
Building Your First Xamarin.Forms App
PDF
Oxford .NET - Go Mobile with Xamarin
Azure App Service Helpers
End to-end native iOS, Android and Windows apps wtih Xamarin
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Introduction to Mobile Development with Xamarin -DotNet Westide
Introduction to Xamarin for Visual Studio 2017
Visual Studio 2017 Launch Event
Building Your First Xamarin.Forms App
Oxford .NET - Go Mobile with Xamarin

What's hot (20)

PDF
Xamarin: The Future of App Development
PDF
Xamarin 4 - the future of apps
PPTX
PPTX
.Net Standard Libraries and Xamarin
PDF
Native i os, android, and windows development in c# with xamarin 4
PPTX
Getting Started with iOS & Android Development Using Xamarin & Visual Studio
PPTX
Xamarin cross platform
PDF
Xamarin Dev Days - Introduction to Xamarin.Forms, Insights, Test Cloud
PDF
.NET Everywhere and for Everyone
PDF
Xamarin.forms Shell + Navigation
PDF
Introduction to CocosSharp
PPTX
Taking Mobile Development Serverless with C#
PDF
Xamarin University Presents: Building Your First Intelligent App with Xamarin...
PPTX
Highlights from the Xamarin Evolve 2016 conference
PDF
MS Experiences 17 - Xamarin: Future of Mobile Development
PDF
Mobile Cross-Platform App Development in C# with Xamarin
PPTX
Introduction to xamarin
PPTX
Xamarin for iOS developers
PDF
Connected Mobile Apps with Microsoft Azure
PPTX
Xamarin overview droidcon.tn
Xamarin: The Future of App Development
Xamarin 4 - the future of apps
.Net Standard Libraries and Xamarin
Native i os, android, and windows development in c# with xamarin 4
Getting Started with iOS & Android Development Using Xamarin & Visual Studio
Xamarin cross platform
Xamarin Dev Days - Introduction to Xamarin.Forms, Insights, Test Cloud
.NET Everywhere and for Everyone
Xamarin.forms Shell + Navigation
Introduction to CocosSharp
Taking Mobile Development Serverless with C#
Xamarin University Presents: Building Your First Intelligent App with Xamarin...
Highlights from the Xamarin Evolve 2016 conference
MS Experiences 17 - Xamarin: Future of Mobile Development
Mobile Cross-Platform App Development in C# with Xamarin
Introduction to xamarin
Xamarin for iOS developers
Connected Mobile Apps with Microsoft Azure
Xamarin overview droidcon.tn

Similar to Native iOS and Android Development with Xamarin (20)

PDF
AnDevCon - Android and iOS Apps in C# with Xamarin
PDF
Going Mobile with C#, Visual Studio, and Xamarin
PDF
Xcoders - iOS & Android Development in C# with Xamarin
PDF
Azure MobileApp & Xamarin.Forms
PPTX
Xamarin Best Cross Platform Mobile App Development Solution
PDF
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
PDF
Xamarin.Forms - Your Complete Mobile Solution
PDF
TechEd Europ 2014 DEV-B306 Building Multi-Device Applications with Xamarin an...
PPTX
Introduction to Xamarin
PPTX
Xamarin Platform
PDF
Xamarin - why not ?
PPTX
Xamarin Dev Days 2016 introduction to xamarin
PDF
Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft
PDF
Mono for Android... for Google Devs
PDF
TechEd Europe 2014 DEV-B217 Go Mobile with C#, Xamarin, and Visual STudio
PPTX
Android Apps Using C# With Visual Studio And Xamarin
PPTX
Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCross
PPTX
Hybrid Mobile App Development - Xamarin
PDF
The Great Mobile Debate: Native vs. Hybrid App Development
PDF
Introduccion Xamarin Open Closed
AnDevCon - Android and iOS Apps in C# with Xamarin
Going Mobile with C#, Visual Studio, and Xamarin
Xcoders - iOS & Android Development in C# with Xamarin
Azure MobileApp & Xamarin.Forms
Xamarin Best Cross Platform Mobile App Development Solution
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Xamarin.Forms - Your Complete Mobile Solution
TechEd Europ 2014 DEV-B306 Building Multi-Device Applications with Xamarin an...
Introduction to Xamarin
Xamarin Platform
Xamarin - why not ?
Xamarin Dev Days 2016 introduction to xamarin
Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft
Mono for Android... for Google Devs
TechEd Europe 2014 DEV-B217 Go Mobile with C#, Xamarin, and Visual STudio
Android Apps Using C# With Visual Studio And Xamarin
Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCross
Hybrid Mobile App Development - Xamarin
The Great Mobile Debate: Native vs. Hybrid App Development
Introduccion Xamarin Open Closed

More from James Montemagno (17)

PDF
What's new and next for mobile development with .NET
PDF
.NET North UG - What’s new & next for Xamarin developers
PPTX
Building Stream Deck Plugins in C#
PDF
.Net Dev Summit 2020 - What's new and next for Xamarin developers
PDF
Creating Island Tracker - Xamarin, Azure Functions, Table Storage, & More
PPTX
Seattle Mobile .NET User Group - Nov. 13th 2019
PDF
Expert Day - What's New, Hot, & Awesome for Xamarin Devs
PDF
Xamarin - New & Awesome + Building Xamarin.Essentials
PDF
Zebra App Forum 2019 - Building iOS & Android Apps with Xamarin
PPTX
Stunning Mobile Apps with the Xamarin Visual Design System​
PDF
What's New, Hot, & Awesome for Xamarin Developers!
PDF
What's New in Xamarin? - Santo Domingo
PDF
Optimizing and Extending Xamarin.Forms iOS, Android, and UWP Apps
PDF
Evovle 2016 - Everyone Can Create Beautiful Apps with Material Design
PDF
What's new in Xamarin.Forms?
PDF
Xamarin Evolve 2016: Mobile search - making your mobile apps stand out
PDF
Don't let your mobile app get lost - iOS Spotlight and App Indexing
What's new and next for mobile development with .NET
.NET North UG - What’s new & next for Xamarin developers
Building Stream Deck Plugins in C#
.Net Dev Summit 2020 - What's new and next for Xamarin developers
Creating Island Tracker - Xamarin, Azure Functions, Table Storage, & More
Seattle Mobile .NET User Group - Nov. 13th 2019
Expert Day - What's New, Hot, & Awesome for Xamarin Devs
Xamarin - New & Awesome + Building Xamarin.Essentials
Zebra App Forum 2019 - Building iOS & Android Apps with Xamarin
Stunning Mobile Apps with the Xamarin Visual Design System​
What's New, Hot, & Awesome for Xamarin Developers!
What's New in Xamarin? - Santo Domingo
Optimizing and Extending Xamarin.Forms iOS, Android, and UWP Apps
Evovle 2016 - Everyone Can Create Beautiful Apps with Material Design
What's new in Xamarin.Forms?
Xamarin Evolve 2016: Mobile search - making your mobile apps stand out
Don't let your mobile app get lost - iOS Spotlight and App Indexing

Native iOS and Android Development with Xamarin