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
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
自分のハンドルは自分で握れ! ― 自分のケイパビリティを増やし、メンバーのケイパビリティ獲得を支援する ― / Take the wheel yourself
takaking22
1
910
AIでAIをテストする - 音声AIエージェントの品質保証戦略
morix1500
1
120
Rebirth of Software Craftsmanship in the AI Era
lemiorhan
PRO
4
2k
クラウドネイティブな開発 ~ 認知負荷に立ち向かうためのコンテナ活用
literalice
0
130
インターネットの技術 / Internet technology
ks91
PRO
0
210
EarthCopilotに学ぶマルチエージェントオーケストレーション
nakasho
0
300
Claude Code を安全に使おう勉強会 / Claude Code Security Basics
masahirokawahara
11
33k
Pure Intonation on Browser: Building a Sequencer with Ruby
nagachika
0
120
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
Master Dataグループ紹介資料
sansan33
PRO
1
4.6k
プラットフォームエンジニアリングの実践 - AWS コンテナサービスで構築する社内プラットフォーム / AWS Containers Platform Meetup #1
literalice
1
180
昔はシンプルだった_AmazonS3
kawaji_scratch
0
330
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
120
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
55k
WCS-LA-2024
lcolladotor
0
540
Unsuck your backbone
ammeep
672
58k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
170
The Curse of the Amulet
leimatthew05
1
11k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
170
Become a Pro
speakerdeck
PRO
31
5.9k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
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