platform abstractionseparate ui and logic
TRANSCRIPT
@johanlindfors
MediaBank and FinanceMap and navigationGamingPhoto editing
Successful architecture ofWindows Store applicationsJohan LindforsCoderox
This is a strictly internal approach
Simplify development and maintenance
Share code and UI
Separate UI from application logic
Abstract platform specifics
Simplify development and maintenanceGOAL
Share code and UI MISSION
Separate UI from application logicTACTIC
Abstract platform specificsOBSTACLE
Simplify maintenance GOAL
Share code and UI MISSION
Separate UI from application logicTACTIC
Abstract platform specificsOBSTACLE
Platform abstractionSeparate UI and logicShare code
Platform abstractionSeparate UI and logicShare code
Share code (and UI)Portable Class Libraries
”Add as link”
UI refactoring
Platform abstractionSeparate UI and logicShare code
Platform abstractionSeparate UI and logicShare code
UI
Application Logic
General architectural approach
View
ViewModel
Model
Databinds
References
Model-View-ViewModel (MVVM)
View
ViewModel
Model
Platform specific
Portable/Common
MVVMExisting or BYOF
ViewModel-View communication
ViewModel-* communication
Platform abstractionSeparate UI and logicShare code
Platform abstractionSeparate UI and logicShare code
Platform abstractionsSingleton vs ”Dependency Injection”
Windows Runtime Components (only v8)
Action<T> vs async/await
Action<T> vs async/awaitCreate wrapper
TaskCompletionSource
Exceptions
Nuget: install-package Microsoft.Bcl.Async -pre
Platform abstractionSeparate UI and logicShare code
@johanlindfors