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
200
Observability-Driven Development: What DevOps is Really About
gshackles
1
320
Monitoring Your Mobile Apps in the Wild
gshackles
1
110
Building Scalable Applications with the Actor Model
gshackles
0
670
Creating a Voice-Driven TV Remote with Azure and Alexa
gshackles
0
130
Build 2017 Recap for Xamarin Developers
gshackles
0
140
Going Serverless: Event-Driven Architecture Without The Infrastructure
gshackles
0
200
Evolve 2016 Redux
gshackles
0
150
Instrumenting Your Mobile Monitoring Strategy
gshackles
0
4.7k
Other Decks in Technology
See All in Technology
ブログの作成に音声AIツールを使って音声入力しようとした話
smt7174
1
180
教育現場のプロンプトエンジニアリング問題を 解決するAIエージェントを作成してみた
ryoshun
0
120
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
94k
opsmethod第1回_アラート調査の自動化にむけて
yamatook
0
290
社内ワークショップで終わらせない 業務改善AIエージェント開発
lycorptech_jp
PRO
1
360
Getting started with Google Antigravity
meteatamel
0
360
EMから現場に戻って見えた2026年の開発者視点
sudoakiy
1
440
失敗できる意思決定とソフトウェアとの正しい歩き方_-_変化と向き合う選択肢/ Designing for Reversible Decisions
soudai
PRO
7
570
Kubernetes環境周りの責任範囲をいい機会なので考える / Taking the Opportunity to Clarify Kubernetes Responsibilities
kohbis
1
110
Agent Skills 入門
puku0x
0
940
AIで 浮いた時間で 何をする? 2026春 #devsumi
konifar
16
3.2k
Snowflakeデータ基盤で挑むAI活用 〜4年間のDataOpsの基礎をもとに〜
kaz3284
1
170
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
130
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
320
Building an army of robots
kneath
306
46k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
80
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
340
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.2k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Deep Space Network (abreviated)
tonyrice
0
77
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
290
Building the Perfect Custom Keyboard
takai
2
700
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
120
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