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
Multi-platform Mobile with Calatrava - May 2013
Search
Pete Hodgson
May 23, 2013
Programming
2
550
Multi-platform Mobile with Calatrava - May 2013
Pete Hodgson
May 23, 2013
Tweet
Share
More Decks by Pete Hodgson
See All by Pete Hodgson
Feature Flags Suck! - KubeCon Atlanta 2025
phodgson
0
180
Migratory Patterns - KubeCon Salt Lake City, 2024
phodgson
0
140
A Journey Into Feature Toggles - OSCON Austin 2017
phodgson
5
660
Test-driven Client-side JS
phodgson
5
870
Functional Reactive JavaScript
phodgson
8
820
different.js - Forward JS 2014
phodgson
4
850
Railsconf2014
phodgson
7
1.5k
Building Your Own Lightsaber
phodgson
104
6.4k
iOS Unit Testing Workshop
phodgson
3
550
Other Decks in Programming
See All in Programming
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
22
19k
All(?) About Point Sets
hole
0
230
connect-python: convenient protobuf RPC for Python
anuraaga
0
310
Duke on CRaC with Jakarta EE
ivargrimstad
0
290
分散DBって何者なんだ... Spannerから学ぶRDBとの違い
iwashi623
0
140
[堅牢.py #1] テストを書かない研究者に送る、最初にテストを書く実験コード入門 / Let's start your ML project by writing tests
shunk031
11
6.2k
海外登壇の心構え - コワクナイヨ - / how to prepare for a presentation abroad
kishida
2
110
Java_プロセスのメモリ監視の落とし穴_NMT_で見抜けない_glibc_キャッシュ問題_.pdf
ntt_dsol_java
0
230
モビリティSaaSにおけるデータ利活用の発展
nealle
1
660
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
11k
r2-image-worker
yusukebe
1
180
CloudflareのSandbox SDKを試してみた
syumai
0
180
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
Docker and Python
trallard
46
3.7k
GitHub's CSS Performance
jonrohan
1032
470k
Visualization
eitanlees
150
16k
Designing Experiences People Love
moore
142
24k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
350
Six Lessons from altMBA
skipperchong
29
4.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
690
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Transcript
Cross-platform Mobile
Pete Hodgson @ph1
Portable Body
http://martinfowler.com/articles/multiMobile/
mobile app
UI the rest
UI portable body
UI portable body
UI portable body JavaScript
UI portable body iOS JavaScript
portable body UI
portable body
portable body iPhone mobile web Android
portable body iPhone mobile web Android
iPhone mobile web Android
http://calatrava.github.io/
- controllers - domain objs. - services <html> views
- controllers - domain objs. - services <html> views
kernel UI
update UI respond to user input kernel UI
show me
None
updating the UI
updating the UI
updating the UI
updating the UI
someView.render( aViewMessage ) updating the UI
someView.render( aViewMessage ) updating the UI {...}
someView.render( aViewMessage ) updating the UI {...}
reading the UI
` reading the UI
someView.get( ‘field_id’, callbackFn ) ` reading the UI
someView.get( ‘field_id’, callbackFn ) ` reading the UI
responding to events
responding to events
responding to events `
someView.bind( ‘event_id’, callbackFn ) responding to events `
None
calatrava is HTML first
native <html> <html> <html> HTML first
native <html> <html> <html> native HTML first
native <html> <html> <html> native HTML first native
Testing Acceptance Tests
Testing Acceptance Tests app logic
where’s your logic? mobile app mobile services
shared mobile services app HTML
app shared mobile services app app iPhone HTML Android
thanks!
thanks! @ph1 for slides
www.thoughtworks.com/radar