Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
2
3.3k
Building Multi-Platform Native Apps with MVVM and C#
Greg Shackles
September 14, 2013
Tweet
Share
More Decks by Greg Shackles
See All by Greg Shackles
Building Modern Services with .NET Core 3 and gRPC
gshackles
0
180
Observability-Driven Development: What DevOps is Really About
gshackles
1
300
Monitoring Your Mobile Apps in the Wild
gshackles
1
100
Building Scalable Applications with the Actor Model
gshackles
0
650
Creating a Voice-Driven TV Remote with Azure and Alexa
gshackles
0
130
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
150
Instrumenting Your Mobile Monitoring Strategy
gshackles
0
4.7k
Other Decks in Technology
See All in Technology
命名から始めるSpec Driven
kuruwic
3
810
なぜ使われないのか?──定量×定性で見極める本当のボトルネック
kakehashi
PRO
1
660
私も懇親会は苦手でした ~苦手だからこそ懇親会を楽しむ方法~ / 20251127 Masaki Okuda
shift_evolve
PRO
4
540
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
640
Master Dataグループ紹介資料
sansan33
PRO
1
4k
ページの可視領域を算出する方法について整理する
yamatai1212
0
160
MySQL AIとMySQL Studioを使ってみよう
ikomachi226
0
130
Databricksによるエージェント構築
taka_aki
1
110
useEffectってなんで非推奨みたいなこと言われてるの?
maguroalternative
9
6.2k
20251127 BigQueryリモート関数で作る、お手軽AIバッチ実行環境
daimatz
0
420
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
16k
モバイルゲーム開発におけるエージェント技術活用への試行錯誤 ~開発効率化へのアプローチの紹介と未来に向けた展望~
qualiarts
0
260
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Agile that works and the tools we love
rasmusluckow
331
21k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Optimizing for Happiness
mojombo
379
70k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The Cult of Friendly URLs
andyhume
79
6.7k
4 Signs Your Business is Dying
shpigford
186
22k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
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