SlideShare a Scribd company logo
Nick Landry
Microsoft Senior Technical Evangelist
nick.landry@microsoft.com
Blog: AgeofMobility.com
@ActiveNick
Building Mobile Cross-Platform
Apps for iOS, Android &
Windows Devices with C#
(and Xamarin & Visual Studio)
1.
2.
3.
4.
5.
6.
7.
8.
Agenda
Audience poll…
Architecting
Mobile Apps
Silo
Approach:
Build the Same
Apps Multiple
Times
The Siloed approach: Build native apps multiple times
Multiple teams and multiple code bases are expensive and slow
+
+
-
✗
Write Once,
Run Anywhere
Approach
Lowest Common
Denominator
Browser
Fragmentation
• App Generation.
• Web Browser in a
Native Wrapper +
Platform APIs.
The write-once-run-anywhere approach
HTML Hybrid scenarios (Semi-native apps) like PhoneGap (i.e. Cordova)
✗
Xamarin’s Unique Approach
Shared C# codebase • 100% native API access • High performance
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Mobile C# Server
Linux/Mono
CoreCLRAzure
Shared C# Client/Server
C# and Xamarin’s unique approach
The best of all worlds
How Xamarin Works
How Does Xamarin Run C# on iOS or Android?
Xamarin History
Over a Decade of Enterprise Production Use
2000
Ximian
Founded
2001
Mono
Started
2003
Ximian
Acquired
by Novell
2009
First iOS
product (now
Xamarin.iOS)
launches
2011
Xamarin
Founded
First
Release of
Xamarin.Android
2012
First
release of
Xamarin.Mac
Launch
Partner
Program
2013
Xamarin 2.0
Component
Store
Evolve 2013
Xamarin Test
Cloud
Microsoft
Partnership
Reach 200,000
Developer
Mark
500,000+
Developers
100+ Partners
100+ Components







Xamarin in 2015







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
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
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
Demo:
Building a Basic Native
Cross-Platform App in C#
All 3 characteristics are required for a truly native app
Xamarin is native in all 3 ways
Native User Interface
Apps are built with standard, native
user interface controls for easy and
familiar interactions
Apps have access to the full spectrum of
functionality exposed by the underlying
platform and device
Apps leverage platform-specific hardware
acceleration, and are compiled as native
binaries, not interpreted at runtime.
High-fidelity API Access
Native Performance
Xamarin exposes 100% of the native APIs
for iOS, Android and Windows
Anything you can do in Objective-C or Java
can be done in C# with Xamarin using Visual Studio
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.
Always Up-to-Date
Full support for:
Google Glass, Android Wear, Amazon Fire TV
Xamarin Products
and Tools
Xamarin: How much?
Starter Edition
(free)
Indie Edition
($299)
Business
Edition ($999)
Enterprise
Edition ($1899)
Integration with Visual Studio in Business Edition & above
•
•
•
•
•
Xamarin: How much?
Xamarin.Mac
Xamarin Studio
Xamarin Test Cloud
Component Store
Xamarin.iOS
Xamarin.Android
Xamarin for
Visual Studio
.NET Mobility Scanner
Development Environment
Xamarin Studio
PC or Mac
Visual Studio Plugin
VS 2010/2012/2013




Xamarin Studio









Visual Studio Integration








Visual Studio Integration







Android Designer





iOS Designer
Mobile Cross-Platform App Development in C# with Xamarin
Xamarin + Xamarin.Forms
With Xamarin.Forms:
more code-sharing, native controls
Traditional Xamarin approach
Shared UI Code



Xamarin + Xamarin.Forms
Shared UI Code







What’s Included in Xamarin.Forms
Shared UI Code
How Xamarin.Forms works
Shared App Logic in C#
At runtime, each Xamarin.Forms page and its
controls are mapped to platform-specific native
user interface elements
iOS C# UI Android C# UI
Shared App Logic
Windows C# UI
Use a single API to generate native, platform-
specific user interfaces
Xamarin.Forms:
Build Native User Interfaces
Using Shared Code
Shared App Logic in C#
Xamarin.Forms comes with over 40
common controls, pages and layouts to
make app UI creation fast and easy
Even basic animations are supported
Xamarin.Forms is Fully Extensible:
• Subclass included controls and
customize behavior
• Define and add your own controls,
layouts, pages and cells
• Expose your own platform-specific
controls in Xamarin.Forms pages
Demo:
Sharing UI Code with
Xamarin.Forms
Use Decide Screen-by-Screen
Xamarin.Forms is great for forms-based
screens. You can mix Xamarin.Forms with
the full power of Xamarin.iOS and
Xamarin.Android in the same app for
complete control over your app’s look and
feel.
Xamarin.Forms: Mix-and-Match Screen-by-Screen, Element-by-Element
Call Platform APIs via Shared Services
Need platform-specifc functionality within a
Xamarin.Forms page, such as querying the
accelerometer? We’ve included services that
quickly and easily abstract platform-specific
API calls to keep you writing as much shared
code as possible.
Embed Custom Views Anywhere
Not only are Xamarin.Forms pages
mixable with custom screens, you can
embed custom views built directly
against Xamarin.iOS and
Xamarin.Android into Xamarin.Forms
pages.
Sharing Code
Shared Projects
NuGet
Portable Class Libraries















Choosing a Code Sharing Option
Demo:
Sharing Code PCLs
Component
Store
• Over 150
curated mobile
components
• Android
• iOS
• Windows
• Free & Paid
• Full IDE Integration
• Xamarin Studio
• Visual Studio
Automatically test
your app on
hundreds of mobile
devices
Mobile Cross-Platform App Development in C# with Xamarin
Native Dev: Platform Tools or Xamarin?
Platform Tools (Windows, iOS, Android)
• Default native method to build apps
• Free development tools & SDKs
• Requires learning at least one language &
SDK per platform (C#, Java, Objective-C)
• Design, develop & maintain completely
separate apps for each platform
• More learning resources available
• Books, web sites, blogs, training,
StackOverflow, videos, larger
community, etc.
• Yet, iOS developers are (kinda) starting all
over with Swift
Xamarin / Mono
• Reuse existing C# skills & source code (but
you have to know C#)
• Need to buy an additional tool: extra cost
• Need to learn new tools & techniques
• Still need to learn the specifics of each
platform SDK, app architecture & lifecycle
• Fewer third-party libraries available
• Built-in GUI designer for iOS and Android
• Xamarin.Forms provides native shared Uis,
but there is no XAML designer (yet)
• Vendor lock-in / dependency
Mobile Strategy Considerations
Audience
• General Consumer
Market
• Niche Consumer
Market
• Enterprise Users
• BYOD
Objectives
• Marketing “Checklist”
Apps
• Brand “Reach” Apps
• Weekend Warrior Apps
• Apps for Profit
• Mobile Revolution
Apps
Other Considerations
• Mobile Population
Coverage Target &
Desired Reach
• Expertise
• Resources
• Timeframe








Summary

 github.com/ActiveNick/MyWeatherNUI
 github.com/ActiveNick/MyWeather
 github.com/ActiveNick/BingTranslateDemo
 github.com/ActiveNick/HelloWeather
 github.com/ActiveNick/AzureChatrforWindows

 github.com/jamesmontemagno/MyStocks.Forms
 github.com/jamesmontemagno/MyExpenses-Sync
Session Demos


http://channel9.msdn.com/events/Build/2015/3-770

http://aka.ms/ch9xam2015-1

http://aka.ms/ch9xam2015-2

http://aka.ms/ch9xam2015-3

http://aka.ms/ch9xam2015-4

http://channel9.msdn.com/Search?term=xamarin#ch9Search&lang-en=en
Xamarin Videos for Developers

 http://xamarin.com/download

 http://docs.xamarin.com

 http://evolve.Xamarin.com

 http://xamarin.com/university

 http://blog.xamarin.com

 http://motzcod.es

 http://weblogs.asp.net/wallym

 http://www.gregshackles.com
Xamarin Resources
Mobile Cross-Platform App Development in C# with Xamarin
Xamarin Developer Certifications:
Be part of an Elite Developer Community
Students have the option to take a certification test and become Xamarin certified.
Xamarin skills are increasingly in demand – certifications let the market know you
represent top talent.
Online Microsoft training delivered by experts to
help technologists continually learn
Hundreds of courses for developers, IT Pros,
students, entrepreneurs and enthusiasts
11 different languages
More than 3M students registered
Build your own Learning Plan
All free!
Cross-Platform Development with
Xamarin & Visual Studio
aka.ms/MVAxamarin
http://www.microsoftvirtualacademy.com
Recommended Xamarin Books
http://aka.ms/Xs5v48
Xamarin Mobile Application Development for Android
(Mark Reynolds)
http://aka.ms/Ndl0jn
iOS Development with Xamarin Cookbook
(Dimitris Tavlikos)
http://aka.ms/S8akz1
Xamarin Cross-Platform Application Development
(Jonathan Peppers)
http://aka.ms/Sl5aj9
Recommended iOS Books
http://iosfordotnetdevs.com
Programming iOS 7, 4th Edition
(Neuburg, O’Reilly)
http://amzn.to/1el9Z7L
iOS Programming: The Big Nerd Ranch Guide
4th Edition (Conway, Hillegass, Keur)
http://amzn.to/1dIM999
Objective-C Programming: The Big Nerd Ranch Guide
2nd Edition (Hillegass, Ward)
http://amzn.to/1kHJQaB
Recommended Android Books
Android Programming: The Big Nerd Ranch Guide
(Bill Phillips, Brian Hardy)
http://amzn.to/1k7jeuK
Programming Android: Java Programming for the New
Generation of Mobile Devices (Mednieks, Dornin, et al.)
http://amzn.to/1bdHA4W
Thank You!
Slides are posted on Slideshare. Demos are on GitHub.
Slideshare: www.slideshare.net/ActiveNick
Blog: www.AgeofMobility.com
Twitter: @ActiveNick
Mobile Apps: www.bigbaldapps.com
LinkedIn: www.linkedin.com/in/activenick
GitHub: github.com/ActiveNick
Email: nick.landry@microsoft.com

More Related Content

PDF
State of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
PDF
Native i os, android, and windows development in c# with xamarin 4
PPTX
Cross-Platform Mobile App Development
PDF
Xamarin Platform
PPTX
Getting Started with iOS & Android Development Using Xamarin & Visual Studio
PPTX
Xamarin cross platform
PPT
Developing Cross-platform Native Apps with Xamarin
PPTX
Highlights from the Xamarin Evolve 2016 conference
State of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
Native i os, android, and windows development in c# with xamarin 4
Cross-Platform Mobile App Development
Xamarin Platform
Getting Started with iOS & Android Development Using Xamarin & Visual Studio
Xamarin cross platform
Developing Cross-platform Native Apps with Xamarin
Highlights from the Xamarin Evolve 2016 conference

What's hot (20)

KEY
Cross Platform Development with Xamarin
PPTX
Introduction to Xamarin
PDF
How Xamarin Is Revolutionizing Mobile Development
PPTX
C# everywhere: Xamarin and cross platform development
PDF
Cross Platform Development with Xamarin
PPTX
Introduction to xamarin
PPTX
Xamarin overview droidcon.tn
KEY
Cross-platform Mobile Development
PDF
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
PPTX
Introduction to xamarin
PDF
Building Your First Xamarin.Forms App
PDF
Introduction to Mobile Development with Xamarin -DotNet Westide
PDF
Xamarin 4 - the future of apps
PDF
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
PPTX
Introducing mono & xamarin
PPTX
Say hello to Xamarin 3
PDF
Native iOS and Android Development with Xamarin
PDF
Visual Studio Toolbox - Introduction To Xamarin.Forms
PPTX
Xamarin Overview by Houssem Dellai
PPTX
Cross Platform Mobile Development with Xamarin
Cross Platform Development with Xamarin
Introduction to Xamarin
How Xamarin Is Revolutionizing Mobile Development
C# everywhere: Xamarin and cross platform development
Cross Platform Development with Xamarin
Introduction to xamarin
Xamarin overview droidcon.tn
Cross-platform Mobile Development
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Introduction to xamarin
Building Your First Xamarin.Forms App
Introduction to Mobile Development with Xamarin -DotNet Westide
Xamarin 4 - the future of apps
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Introducing mono & xamarin
Say hello to Xamarin 3
Native iOS and Android Development with Xamarin
Visual Studio Toolbox - Introduction To Xamarin.Forms
Xamarin Overview by Houssem Dellai
Cross Platform Mobile Development with Xamarin
Ad

Viewers also liked (18)

PPTX
Top 4 Cross Platform tools for Mobile App Development
PPTX
Android based Attendance and examination automation
PDF
Switch to Results in Hotels
PPTX
Xamarin 3 hieu 19-06
PPTX
Xamarin Cross-Platform with Xamarin.Form, MvvmCross
PPTX
C# Is The Future
PPTX
C# 4.0 and .NET 4.0
PDF
Enterprise Mobile Success with Oracle and Xamarin
PPTX
C# 6.0 - What?! C# is being updated?
PPTX
Mobile Enterprise Success with Xamarin and IBM
PDF
C# 3.0 and 4.0
PPTX
Cross platform mobile app development tools review
PDF
Xamarin Mobile Leaders Summit: Business at the Point of Inspiration: Producti...
PPTX
Xamarin Mobile Leaders Summit: The Mobile Mind Shift: Opportunities, Challeng...
PDF
Xamarin Mobile Leaders Summit | Solving the Unique Challenges in Mobile DevOps
PDF
Xamarin Việt Nam - Lập trình cross platform mobile app - https://uxvietnam.com
PPTX
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...
PDF
Building Your First Android App with Xamarin
Top 4 Cross Platform tools for Mobile App Development
Android based Attendance and examination automation
Switch to Results in Hotels
Xamarin 3 hieu 19-06
Xamarin Cross-Platform with Xamarin.Form, MvvmCross
C# Is The Future
C# 4.0 and .NET 4.0
Enterprise Mobile Success with Oracle and Xamarin
C# 6.0 - What?! C# is being updated?
Mobile Enterprise Success with Xamarin and IBM
C# 3.0 and 4.0
Cross platform mobile app development tools review
Xamarin Mobile Leaders Summit: Business at the Point of Inspiration: Producti...
Xamarin Mobile Leaders Summit: The Mobile Mind Shift: Opportunities, Challeng...
Xamarin Mobile Leaders Summit | Solving the Unique Challenges in Mobile DevOps
Xamarin Việt Nam - Lập trình cross platform mobile app - https://uxvietnam.com
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...
Building Your First Android App with Xamarin
Ad

Similar to Mobile Cross-Platform App Development in C# with Xamarin (20)

PPTX
Introduction to Xamarin - Confoo 2015
PPTX
Introduction to Xamarin
PPTX
xamarin ppt m (1).pptx GENARAL SEMINAR TOPIC PPT
PPTX
Xamarin Best Cross Platform Mobile App Development Solution
PPTX
Cross Platform Mobile Dev with C# and Xamarin 3 (RADNUG 8/19/14)
PPTX
Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)
PDF
Introduction to Xamarin Philly Code Camp 2014
PPTX
Xamarin.Forms: a cross-platform mobile UI toolkit - ConFoo 2016
PPTX
C# no bolso - desenvolvendo apps multiplataforma
PPTX
Designing mobile applications with xamarin
PPTX
Introduction to xamarin
PPTX
PPTX
[MobConf] Go mobile with C#, Visual Studio & Xamarin
PDF
Xamarin for (not only) Android developers
PPTX
Cross platform app dev with xamarin forms
PPTX
Cross platform mobile development with xamarin and office 365
PDF
Couchbase Workshop - Introduction to Xamarin
PDF
Why Xamarin is the Best to Build Cost-Effective Mobile Apps
PPTX
SydMobDev Feb 2014 - Cross Platform Native App Development with Xamarin and M...
Introduction to Xamarin - Confoo 2015
Introduction to Xamarin
xamarin ppt m (1).pptx GENARAL SEMINAR TOPIC PPT
Xamarin Best Cross Platform Mobile App Development Solution
Cross Platform Mobile Dev with C# and Xamarin 3 (RADNUG 8/19/14)
Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)
Introduction to Xamarin Philly Code Camp 2014
Xamarin.Forms: a cross-platform mobile UI toolkit - ConFoo 2016
C# no bolso - desenvolvendo apps multiplataforma
Designing mobile applications with xamarin
Introduction to xamarin
[MobConf] Go mobile with C#, Visual Studio & Xamarin
Xamarin for (not only) Android developers
Cross platform app dev with xamarin forms
Cross platform mobile development with xamarin and office 365
Couchbase Workshop - Introduction to Xamarin
Why Xamarin is the Best to Build Cost-Effective Mobile Apps
SydMobDev Feb 2014 - Cross Platform Native App Development with Xamarin and M...

More from Nick Landry (20)

PDF
Designing XR Experiences with Speech & Natural Language Understanding in Unity
PDF
MR + AI: Machine Learning for Language in HoloLens & VR Apps
PDF
Building Holographic & VR Experiences Using the Mixed Reality Toolkit for Unity
PDF
Developing for Xbox as an Indie in 2018
PDF
Mixed Reality Development Overview
PDF
Bots are the New Apps: Building Bots with ASP.NET WebAPI & Language Understan...
PDF
Mobilizing your Existing Enterprise Applications
PDF
Lessons Learned from Real World Xamarin.Forms Projects
PDF
Building Mixed Reality Experiences with the HoloToolkit for Unity
PDF
Microsoft Speech Technologies for Developers
PDF
Building Mixed Reality Experiences for Microsoft HoloLens
PDF
Building a Cross-Platform Mobile App Backend in the Cloud with Node.js
PDF
Scaling IoT: Telemetry, Command & Control, Analytics and the Cloud
PDF
Building Mixed Reality Experiences for Microsoft HoloLens in Unity
PDF
Cognitive Services: Building Smart Apps with Speech, NLP & Vision
PDF
Bots are the New Apps: Building with the Bot Framework & Language Understanding
PDF
From Oculus to HoloLens: Building Virtual & Mixed Reality Apps & Games
PDF
Building a Windows 10 Game with C#, XAML and Win2D
PDF
Hacking with the Raspberry Pi and Windows 10 IoT Core
PDF
Building a New Generation of Mobile Games with Speech
Designing XR Experiences with Speech & Natural Language Understanding in Unity
MR + AI: Machine Learning for Language in HoloLens & VR Apps
Building Holographic & VR Experiences Using the Mixed Reality Toolkit for Unity
Developing for Xbox as an Indie in 2018
Mixed Reality Development Overview
Bots are the New Apps: Building Bots with ASP.NET WebAPI & Language Understan...
Mobilizing your Existing Enterprise Applications
Lessons Learned from Real World Xamarin.Forms Projects
Building Mixed Reality Experiences with the HoloToolkit for Unity
Microsoft Speech Technologies for Developers
Building Mixed Reality Experiences for Microsoft HoloLens
Building a Cross-Platform Mobile App Backend in the Cloud with Node.js
Scaling IoT: Telemetry, Command & Control, Analytics and the Cloud
Building Mixed Reality Experiences for Microsoft HoloLens in Unity
Cognitive Services: Building Smart Apps with Speech, NLP & Vision
Bots are the New Apps: Building with the Bot Framework & Language Understanding
From Oculus to HoloLens: Building Virtual & Mixed Reality Apps & Games
Building a Windows 10 Game with C#, XAML and Win2D
Hacking with the Raspberry Pi and Windows 10 IoT Core
Building a New Generation of Mobile Games with Speech

Recently uploaded (20)

DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Spectral efficient network and resource selection model in 5G networks
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Machine learning based COVID-19 study performance prediction
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Modernizing your data center with Dell and AMD
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Approach and Philosophy of On baking technology
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPT
Teaching material agriculture food technology
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
The AUB Centre for AI in Media Proposal.docx
Per capita expenditure prediction using model stacking based on satellite ima...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Spectral efficient network and resource selection model in 5G networks
“AI and Expert System Decision Support & Business Intelligence Systems”
Review of recent advances in non-invasive hemoglobin estimation
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Encapsulation_ Review paper, used for researhc scholars
Machine learning based COVID-19 study performance prediction
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Modernizing your data center with Dell and AMD
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Approach and Philosophy of On baking technology
Understanding_Digital_Forensics_Presentation.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Teaching material agriculture food technology
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

Mobile Cross-Platform App Development in C# with Xamarin