Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Building Multi-Platform Native Apps with MVVM a...
Search
Greg Shackles
September 14, 2013
Technology
3.6k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Building Multi-Platform Native Apps with MVVM and C#
Greg Shackles
September 14, 2013
More Decks by Greg Shackles
See All by Greg Shackles
Building Modern Services with .NET Core 3 and gRPC
gshackles
0
220
Observability-Driven Development: What DevOps is Really About
gshackles
1
350
Monitoring Your Mobile Apps in the Wild
gshackles
1
130
Building Scalable Applications with the Actor Model
gshackles
0
700
Creating a Voice-Driven TV Remote with Azure and Alexa
gshackles
0
170
Build 2017 Recap for Xamarin Developers
gshackles
0
160
Going Serverless: Event-Driven Architecture Without The Infrastructure
gshackles
0
240
Evolve 2016 Redux
gshackles
0
170
Instrumenting Your Mobile Monitoring Strategy
gshackles
0
4.8k
Other Decks in Technology
See All in Technology
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
160
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
120
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
340
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
430
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
170
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
110
継続的なAIコスト最適化
bgpat
1
340
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
330
その Valkey 使いこなしていますか?
onk
PRO
5
1.5k
今さら理解するウェブフォントver.2026
takanorip
3
790
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
3
520
Featured
See All Featured
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
270
Become a Pro
speakerdeck
PRO
31
6.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The Cost Of JavaScript in 2023
addyosmani
55
10k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
520
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
630
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Transcript
Building Multi-Platform Native Apps with MVVM and C# Greg Shackles
Senior Software Engineer OLO @gshackles
[email protected]
github.com/gshackles
nycmobiledev.net @NYCMobileDev
Gone Mobile gonemobile.io @GoneMobileCast
Google Apple RIM Microso! Symbian 52.0% Android 39.9% Apple 4.4%
RIM 3.1% Microsoft Source: comScore US Market Share: June 2013
Write Once, Run Anywhere
Write Once, Run Anywhere BUSTED
Xamarin: C# All The Things! * * plus some F#
for good measure •100% Native •Full access to platform SDKs •BCL, Async, LINQ, etc •Improved API •Shared code across platforms •Garbage collection •Visual Studio / Xamarin Studio •Frequent Releases
MVVM Click Me Hello World! 1. action 2. event handling
3. command 4. access data 5. notify change 6. get changed data 7. update UI View Binder View Model Model
Binding: Properties
Binding: Collections
Binding: Actions
Binding: Value Converters
MvvmCross: Platforms
•Shared behavior, not presentation •Bind all the platforms! •Powerful binding
options •Convention over configuration •Pluggable architecture •PCL •Inversion of Control •Testable MvvmCross: Highlights
•Source: github.com/slodge/MvvmCross •Stuart’s Blog: slodge.blogspot.com •N+1: mvvmcross.wordpress.com •Chat: jabbr.net/#/rooms/mvvmcross MvvmCross:
Resources
•Customize view presentation •Platform-specific •Still retain View Model logic Presenters
•Tabs / Panorama •Split View / Master-Detail •Fragments •Modals •Hamburger menu
Presenters
Plugins • Accelerometer • Download Cache • Email • File
• Json • Localization • Location • Messenger • Phone Call • Picture Chooser • SQLite • Visibility • Web Browser • Many More!
None