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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Greg Shackles
July 28, 2015
Technology
290
0
Share
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
210
Observability-Driven Development: What DevOps is Really About
gshackles
1
330
Monitoring Your Mobile Apps in the Wild
gshackles
1
120
Building Scalable Applications with the Actor Model
gshackles
0
670
Creating a Voice-Driven TV Remote with Azure and Alexa
gshackles
0
140
Build 2017 Recap for Xamarin Developers
gshackles
0
140
Going Serverless: Event-Driven Architecture Without The Infrastructure
gshackles
0
210
Evolve 2016 Redux
gshackles
0
160
Instrumenting Your Mobile Monitoring Strategy
gshackles
0
4.7k
Other Decks in Technology
See All in Technology
こんなアーキテクチャ図はいやだ / Anti-pattern in AWS Architecture Diagrams
naospon
1
450
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.1k
昔はシンプルだった_AmazonS3
kawaji_scratch
0
330
Eight Engineering Unit 紹介資料
sansan33
PRO
3
7.3k
ネットワーク運用を楽にするAWS DevOps Agent活用法!! / 20260421 Masaki Okuda
shift_evolve
PRO
2
210
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
370
マルチエージェント × ハーネスエンジニアリング × GitLab Duo Agent Platformで実現する「AIエージェントに仕事をさせる時代へ。」 / 20260421 GitLab Duo Agent Platform
n11sh1
0
160
20260423_執筆の工夫と裏側 技術書の企画から刊行まで / From the planning to the publication of technical book
nash_efp
3
400
Master Dataグループ紹介資料
sansan33
PRO
1
4.6k
Do Ruby::Box dream of Modular Monolith?
joker1007
1
340
M5Stack CoreS3とZephyr(RTOS)で Edge AIっぽいことしてみた
iotengineer22
0
220
最初の一歩を踏み出せなかった私が、誰かの背中を押したいと思うようになるまで / give someone a push
mii3king
0
160
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Discover your Explorer Soul
emna__ayadi
2
1.1k
A Tale of Four Properties
chriscoyier
163
24k
Designing for humans not robots
tammielis
254
26k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
310
How GitHub (no longer) Works
holman
316
150k
Balancing Empowerment & Direction
lara
6
1.1k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
480
Mind Mapping
helmedeiros
PRO
1
150
Making the Leap to Tech Lead
cromwellryan
135
9.8k
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