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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Greg Shackles
September 14, 2013
Technology
3.5k
2
Share
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
330
Monitoring Your Mobile Apps in the Wild
gshackles
1
120
Building Scalable Applications with the Actor Model
gshackles
0
680
Creating a Voice-Driven TV Remote with Azure and Alexa
gshackles
0
140
Build 2017 Recap for Xamarin Developers
gshackles
0
150
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
The Bag-of-Documents Model for Query Understanding and Retrieval
dtunkelang
0
150
社内RAGの導入で気を付けたポイント
yakumo
1
110
鹿野さんに聞く!CSSの最新トレンド Ver.2026
tonkotsuboy_com
6
3.5k
Swift Sequence の便利 API 再発見
treastrain
1
290
ECSのTerraformモジュールにコントリビュートした話
harukasakihara
0
220
「背中を見て育て」からの卒業 〜専門技術としてのテスト設計を軸に、品質保証のバトンを繋ぐ〜 #genda_tech_talk
nihonbuson
PRO
3
1.5k
Purview 勉強会報告 Microsoft Purview 入門しようとしてみた
masakichixo
1
440
おいらのAWSアップデートの追い方〜Slack×AgentCore〜
yakumo
1
110
SLI/SLO、「完全に理解した」から「チョットデキル」へ
maruloop
5
550
クラウドからエッジまで ~ 1,700台を支える監視設計~
optfit
0
110
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.4k
JTCでRedmine利用者2700人を実現した手法 第二部
nobuonakamura
0
120
Featured
See All Featured
Building an army of robots
kneath
306
46k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Automating Front-end Workflow
addyosmani
1370
200k
Music & Morning Musume
bryan
47
7.2k
RailsConf 2023
tenderlove
30
1.4k
The Pragmatic Product Professional
lauravandoore
37
7.3k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
140
New Earth Scene 8
popppiees
3
2.2k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
エンジニアに許された特別な時間の終わり
watany
106
240k
HDC tutorial
michielstock
2
660
30 Presentation Tips
portentint
PRO
1
290
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