Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Building Native Cross-Platform Apps in C# with ...
Search
Greg Shackles
July 28, 2015
Technology
0
270
Building Native Cross-Platform Apps in C# with Xamarin
Greg Shackles
July 28, 2015
Tweet
Share
More Decks by Greg Shackles
See All by Greg Shackles
Building Modern Services with .NET Core 3 and gRPC
gshackles
0
160
Observability-Driven Development: What DevOps is Really About
gshackles
1
280
Monitoring Your Mobile Apps in the Wild
gshackles
1
84
Building Scalable Applications with the Actor Model
gshackles
0
590
Creating a Voice-Driven TV Remote with Azure and Alexa
gshackles
0
99
Build 2017 Recap for Xamarin Developers
gshackles
0
100
Going Serverless: Event-Driven Architecture Without The Infrastructure
gshackles
0
170
Evolve 2016 Redux
gshackles
0
130
Instrumenting Your Mobile Monitoring Strategy
gshackles
0
4.6k
Other Decks in Technology
See All in Technology
AI・LLM事業部のSREとタスクの自動運転
shinyorke
PRO
0
270
PHPでアクターモデルを活用したSagaパターンの実践法 / php-saga-pattern-with-actor-model
ytake
0
930
初めてのPostgreSQLメジャーバージョンアップ
kkato1
0
250
開発組織全体で意識するSLI/SLOを実装している話
zepprix
1
740
SSH公開鍵認証による接続 / Connecting with SSH Public Key Authentication
kaityo256
PRO
2
190
ソフトウェア開発現代史: なぜ日本のソフトウェア開発は「滝」なのか?製造業の成功体験とのギャップ #jassttokyo
takabow
2
980
チームの性質によって変わる ADR との向き合い方と、生成 AI 時代のこれから / How to deal with ADR depends on the characteristics of the team
mh4gf
4
290
Keynote - KCD Brazil - Platform Engineering on K8s (portuguese)
salaboy
0
120
Cloud Native PG 使ってみて気づいたことと最新機能の紹介 - 第52回PostgreSQLアンカンファレンス
seinoyu
0
110
技術的負債を正しく理解し、正しく付き合う #phperkaigi / PHPerKaigi 2025
shogogg
7
1.6k
ペアプログラミングにQAが加わった!職能を超えたモブプログラミングの事例と学び
tonionagauzzi
1
110
EM初心者として半年間マネジャーをやってみて分かったこと
sansantech
PRO
0
200
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
6
320
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Visualization
eitanlees
146
15k
Bash Introduction
62gerente
611
210k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
Documentation Writing (for coders)
carmenintech
69
4.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Typedesign – Prime Four
hannesfritz
41
2.6k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Transcript
Building Native Cross-Platform Apps in C# with Xamarin Greg Shackles
@gshackles greg@gregshackles.com 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 greg@gregshackles.com github.com/gshackles speakerdeck.com/u/gshackles