Top Banner
Adapting View Models as a Means For Sharing User Interface Code Between OS X and iOS Dileepa Jayathilake SATURN 2013
14

Adapting View Models as a Means for Sharing User … Programming New Book Pascal ... bindings for iOS View 1. ... Adapting View Models as a Means for Sharing User Interface Code Between

Apr 22, 2018

Download

Documents

duongkhanh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Adapting View Models as a Means for Sharing User … Programming New Book Pascal ... bindings for iOS View 1. ... Adapting View Models as a Means for Sharing User Interface Code Between

Adapting View Models as a Means For Sharing User Interface Code Between OS X and iOS

Dileepa Jayathilake

SATURN 2013

Page 2: Adapting View Models as a Means for Sharing User … Programming New Book Pascal ... bindings for iOS View 1. ... Adapting View Models as a Means for Sharing User Interface Code Between

Background

Problem Identification

Solution Overview

Implementation

Discussion

Conclusion

Page 3: Adapting View Models as a Means for Sharing User … Programming New Book Pascal ... bindings for iOS View 1. ... Adapting View Models as a Means for Sharing User Interface Code Between

Product for both OS X and iOS

With a significant part in common

How to reuse code maximally?

Page 4: Adapting View Models as a Means for Sharing User … Programming New Book Pascal ... bindings for iOS View 1. ... Adapting View Models as a Means for Sharing User Interface Code Between
Page 5: Adapting View Models as a Means for Sharing User … Programming New Book Pascal ... bindings for iOS View 1. ... Adapting View Models as a Means for Sharing User Interface Code Between

Is it possible to share UI code?

Page 6: Adapting View Models as a Means for Sharing User … Programming New Book Pascal ... bindings for iOS View 1. ... Adapting View Models as a Means for Sharing User Interface Code Between
Page 7: Adapting View Models as a Means for Sharing User … Programming New Book Pascal ... bindings for iOS View 1. ... Adapting View Models as a Means for Sharing User Interface Code Between

View Models implement common part of UI

View Models are shared

View hooks into View Model

Controllers hold platform specifics

Bidirectional bindings are platform-specific

Page 8: Adapting View Models as a Means for Sharing User … Programming New Book Pascal ... bindings for iOS View 1. ... Adapting View Models as a Means for Sharing User Interface Code Between

View Models contain view data and common UI behavior

Models are exposed to Views through View Models

1

2

Page 9: Adapting View Models as a Means for Sharing User … Programming New Book Pascal ... bindings for iOS View 1. ... Adapting View Models as a Means for Sharing User Interface Code Between

Common & Platform-specific components of the solution

Page 10: Adapting View Models as a Means for Sharing User … Programming New Book Pascal ... bindings for iOS View 1. ... Adapting View Models as a Means for Sharing User Interface Code Between

Proof of Concept: Book Store Application

Page 11: Adapting View Models as a Means for Sharing User … Programming New Book Pascal ... bindings for iOS View 1. ... Adapting View Models as a Means for Sharing User Interface Code Between

Use of the solution in Book Store application

Page 12: Adapting View Models as a Means for Sharing User … Programming New Book Pascal ... bindings for iOS View 1. ... Adapting View Models as a Means for Sharing User Interface Code Between

Advantages

• Improved code reuse• Better readability• Better Separation of View Logic• Enhanced testability

Concerns

• Framework class usage• Bi-directional bindings

Page 13: Adapting View Models as a Means for Sharing User … Programming New Book Pascal ... bindings for iOS View 1. ... Adapting View Models as a Means for Sharing User Interface Code Between

CONCLUSION

View Models combined with traditional MVC can improve code reuse

significantly while providing other advantages for applications targeting

both OS X and iOS.

Page 14: Adapting View Models as a Means for Sharing User … Programming New Book Pascal ... bindings for iOS View 1. ... Adapting View Models as a Means for Sharing User Interface Code Between

QUESTIONS