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
Developing iOS and Android Apps in Visual Studi...
Search
Greg Shackles
August 26, 2014
Technology
0
250
Developing iOS and Android Apps in Visual Studio with Xamarin
Greg Shackles
August 26, 2014
Tweet
Share
More Decks by Greg Shackles
See All by Greg Shackles
Building Modern Services with .NET Core 3 and gRPC
gshackles
0
170
Observability-Driven Development: What DevOps is Really About
gshackles
1
290
Monitoring Your Mobile Apps in the Wild
gshackles
1
97
Building Scalable Applications with the Actor Model
gshackles
0
640
Creating a Voice-Driven TV Remote with Azure and Alexa
gshackles
0
120
Build 2017 Recap for Xamarin Developers
gshackles
0
130
Going Serverless: Event-Driven Architecture Without The Infrastructure
gshackles
0
190
Evolve 2016 Redux
gshackles
0
140
Instrumenting Your Mobile Monitoring Strategy
gshackles
0
4.7k
Other Decks in Technology
See All in Technology
20251014_Pythonを実務で徹底的に使いこなした話
ippei0923
0
210
AWS Control Tower に学ぶ! IAM Identity Center 権限設計の第一歩 / IAM Identity Center with Control Tower
y___u
1
200
Claude Code Subagents 再入門 ~cc-sddの実装で学んだこと~
gotalab555
10
16k
能登半島地震で見えた災害対応の課題と組織変革の重要性
ditccsugii
0
1k
Claude Codeを駆使した初めてのiOSアプリ開発 ~ゼロから3週間でグローバルハッカソンで入賞するまで~
oikon48
10
4.7k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
CoRL 2025 Survey
harukiabe
1
210
「れきちず」のこれまでとこれから - 誰にでもわかりやすい歴史地図を目指して / FOSS4G 2025 Japan
hjmkth
1
320
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3k
業務効率化をさらに加速させる、ノーコードツールとStep Functionsのハイブリッド化
smt7174
2
140
速習AGENTS.md:5分で精度を上げる "3ブロック" テンプレ
ismk
6
1.7k
そのWAFのブロック、どう活かす? サービスを守るための実践的多層防御と思考法 / WAF blocks defense decision
kaminashi
0
200
Featured
See All Featured
BBQ
matthewcrist
89
9.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
Docker and Python
trallard
46
3.6k
Rails Girls Zürich Keynote
gr2m
95
14k
Building Adaptive Systems
keathley
44
2.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
How to Ace a Technical Interview
jacobian
280
24k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Context Engineering - Making Every Token Count
addyosmani
7
260
Transcript
Developing iOS and Android Apps in Visual Studio with Xamarin
+ =
Hello, world! Greg Shackles Senior Engineer Olo
[email protected]
@gshackles github.com/gshackles
speakerdeck.com/gshackles
nycmobiledev.net @NYCMobileDev
gonemobile.io @GoneMobileCast
What is native?
The Anatomy of a Native App
The Anatomy of a Native App Native User Interfaces
The Anatomy of a Native App Native User Interfaces Native
API Access
The Anatomy of a Native App Native User Interfaces Native
API Access Native Performance
The Silo Approach Build App Multiple Times
The Write-Once-Run-Anywhere Approach Lowest Common Denominator
Xamarin’s Approach Native With Code Sharing
Base Class Libraries
Windows APIs
iOS APIs | 100% Coverage
Android APIs | 100% Coverage
Anything you can do in Objective-C or Java can
be done in C# with Xamarin using Visual Studio Pro Tip
Native Performance Xamarin.iOS does full Ahead Of Time (AOT) compilation
to produce an ARM binary for Apple’s App Store.
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 Same day support for " iOS
5, iOS 6, iOS 6.1, " iOS 7, iOS 7.1!! "
Always Up To Date Always up-to-date with the latest APIs
from Apple and Google.
Distribute Everywhere A Xamarin app is an app, distribute it
everywhere
Bring Your Favorite Libraries Json.NET Rx …and many more!
Code Sharing
File Linking
Shared Code Projects
Portable Class Libraries " • 1 Assembly" • Multiple Platforms"
• Including:" • Xamarin.Android" • Xamarin.iOS
Tools
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
Visual Studio Integration
Visual Studio Integration Debug to:" • Emulators" • Devices" "
" Integrated into toolbar" • Status" • Logs" • List of devices" " Just Click Start Debugging!
Android Designer
iOS Designer Fully integrated into Xamarin Studio & Visual Studio
" iOS 6 & 7 Storyboard support " Intuitive event handling Support for auto-layout " Live preview of custom controls " " "
Component Store
First Class F# Support
Razor Templating
Test Cloud
Xamarin.Forms Traditional Xamarin approach
Xamarin.Forms Xamarin.Forms Traditional Xamarin approach Shared UI Code
Xamarin.Forms: What’s Included?
Xamarin.Forms: What’s Included? ▪ 40+ Pages, Layouts, and Controls ▪
Build from code or XAML
Xamarin.Forms: What’s Included? ▪ 40+ Pages, Layouts, and Controls ▪
Build from code or XAML ▪ Two-way Data Binding
Xamarin.Forms: What’s Included? ▪ 40+ Pages, Layouts, and Controls ▪
Build from code or XAML ▪ Two-way Data Binding ▪ Navigation
Xamarin.Forms: What’s Included? ▪ 40+ Pages, Layouts, and Controls ▪
Build from code or XAML ▪ Two-way Data Binding ▪ Navigation ▪ Animation API
Xamarin.Forms: What’s Included? ▪ 40+ Pages, Layouts, and Controls ▪
Build from code or XAML ▪ Two-way Data Binding ▪ Navigation ▪ Animation API ▪ Dependency Service
Xamarin.Forms: What’s Included? ▪ 40+ Pages, Layouts, and Controls ▪
Build from code or XAML ▪ Two-way Data Binding ▪ Navigation ▪ Animation API ▪ Dependency Service ▪ Messaging Center
Xamarin.Forms: Pages
Xamarin.Forms: Pages Content MasterDetail Navigation Tabbed Carousel
Xamarin.Forms: Layouts
Xamarin.Forms: Layouts Stack Absolute Relative Grid ContentView ScrollView 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
None
None
Let’s Code