Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Building Native Cross-Platform Apps in C# with ...
Search
Greg Shackles
July 28, 2015
Technology
300
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Building Native Cross-Platform Apps in C# with Xamarin
Greg Shackles
July 28, 2015
More Decks by Greg Shackles
See All by Greg Shackles
Building Modern Services with .NET Core 3 and gRPC
gshackles
0
220
Observability-Driven Development: What DevOps is Really About
gshackles
1
350
Monitoring Your Mobile Apps in the Wild
gshackles
1
130
Building Scalable Applications with the Actor Model
gshackles
0
700
Creating a Voice-Driven TV Remote with Azure and Alexa
gshackles
0
170
Build 2017 Recap for Xamarin Developers
gshackles
0
160
Going Serverless: Event-Driven Architecture Without The Infrastructure
gshackles
0
240
Evolve 2016 Redux
gshackles
0
170
Instrumenting Your Mobile Monitoring Strategy
gshackles
0
4.8k
Other Decks in Technology
See All in Technology
「作れる」と「リリースできる」の間にあったもの── PdMを外して見えた、PdMがやるべき仕事/Buildable ≠ Shippable: What Removing the PM Taught Me About the PM’s Job
yappli_developers
0
390
基本から分かる!AWSセキュリティ運用の考え方と任せ方
cmusudakeisuke
1
260
新卒エンジニア、 介護士になる
ryu1013
1
570
AX時代の自治体支援リソース再配分と役割分担の再構成:戦略とロードマップ(概要)
sishi2026
0
130
OneLakeをデータソースにした AI Search(Foundry IQ)の ライフサイクル管理
ryuseiiida
0
200
ひとりで始めた AI駆動開発、チームに広げて何が変わったのか
kenichiodo
1
160
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
330
Maestro MCPとClaude Code Skillsによる自律的なE2Eテスト支援
asmz
0
390
自律的なチームを作るためにTechPMがやらないこと
ny7760
0
270
Oracle Database Security 詳細解説
oracle4engineer
PRO
1
170
Vue.jsのGitHubから学ぶ意思決定
yut0naga1_fa
1
340
素人でもできた!AIを使った短編小説創作入門
delhi09
PRO
0
250
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
650
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
500
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
290
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
650
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
430
Deep Space Network (abreviated)
tonyrice
0
390
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
320
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
290
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
Designing for Timeless Needs
cassininazir
1
530
Transcript
Building Native Cross-Platform Apps in C# with Xamarin Greg Shackles
@gshackles
[email protected]
github.com/gshackles speakerdeck.com/u/gshackles
nycmobiledev.net @NYCMobileDev
gonemobile.io @GoneMobileCast
What is native?
The Anatomy of a Native App Native User Interfaces Native
API Access Native Performance
The Write Once, Run Anywhere Approach Lowest Common Denominator
The Xamarin Approach Native Apps, with Shared Code
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.
TL;DR Anything you can do in Objective-C, Swift, or Java
can be done in C# or F# with Xamarin
Always Up To Date Same day support for all the
things
Always Up To Date
Distribute Everywhere
Your Friends Are Invited Too Json.NET Rx …and many more!
Code Sharing Techniques Because sharing is caring
File Linking Core Project iOS Project Core Code iOS-Specific Code
Android Project Core Code Android-Specific Code Windows Project Core Code Windows-Specific Code File Links
Shared Code Projects
Portable Class Libraries • One assembly • Multiple platforms •
Including: • Xamarin.iOS • Xamarin.Android • Xamarin.Mac
The Xamarin Platform A Whirlwind Tour
Development Environment Xamarin Studio Visual Studio Windows or Mac 2010,
2012, 2013, 2015
Visual Studio Integration
iOS Designer
Android Designer
Component Store
Xamarin.Forms Traditional Xamarin Approach Xamarin.Forms Shared UI Code
Xamarin.Forms: What’s Included? • 40+ Pages, Layouts, and Controls •
Build from code or XAML • Data Binding • Navigation • Animation • Dependency Service • Messaging Center
Xamarin.Forms: Pages Content MasterDetail Navigation Tabbed Carousel
Xamarin.Forms: Layouts Stack Absolute Relative Grid ContentView Scroll Frame
Xamarin.Forms: 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 …and more!
First Class F# Support
Razor Templating
Xamarin.UITest • Write UI tests in C# or F# •
iOS and Android (with shared test code) • Run on simulator and devices • Compatible with all apps • Native • Hybrid • Xamarin
Test Cloud: Test on Real Devices
None
None
None
Profiler
Android Player
• Live online classes • Office hours • Offline access
• Guest lectures • Certification
Let’s Code
Questions? Greg Shackles @gshackles
[email protected]
github.com/gshackles speakerdeck.com/u/gshackles