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 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
210
Observability-Driven Development: What DevOps is Really About
gshackles
1
340
Monitoring Your Mobile Apps in the Wild
gshackles
1
120
Building Scalable Applications with the Actor Model
gshackles
0
690
Creating a Voice-Driven TV Remote with Azure and Alexa
gshackles
0
160
Build 2017 Recap for Xamarin Developers
gshackles
0
150
Going Serverless: Event-Driven Architecture Without The Infrastructure
gshackles
0
220
Evolve 2016 Redux
gshackles
0
160
Instrumenting Your Mobile Monitoring Strategy
gshackles
0
4.8k
Other Decks in Technology
See All in Technology
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
AI時代のデータ基盤を考える問い
pacocat
0
740
指示待ちから変化に応じるClaude Codeへ!~環境からAgentへの帰り道を作る~
gotalab555
8
1.6k
現場の暗黙知を継承するAIエージェント — 対話から生まれる長期記憶と Skills
atsukish
0
140
8bit CPU 2026
koba789
7
3k
AI時代の「OAuth認証」にどう物申すか?(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
340
Distributed Transactions Under Fire: Building a Zero-Oversell Flash Sale Platform with Amazon Aurora DSQL
yama3133
1
110
hookで自作する Claude Code の「実況ボード」
shinyasaita
2
230
OAuth SPIFFE Client Authentication(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
350
NANDでも描画したい!
nichica906
3
810
AI駆動開発をチームに根付かせる - 「1行も書かない」チームがHarnessを育てた1年 -
kenichirokimura
6
3.3k
会計事務所と顧問先の契約関係をOIDC・OAuthで表現する
terara
0
500
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
10k
Designing Experiences People Love
moore
143
24k
The SEO identity crisis: Don't let AI make you average
varn
0
540
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
390
Balancing Empowerment & Direction
lara
6
1.3k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Designing Powerful Visuals for Engaging Learning
tmiket
1
510
Believing is Seeing
oripsolob
1
200
The untapped power of vector embeddings
frankvandijk
2
1.8k
Marketing to machines
jonoalderson
1
5.7k
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