Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
1
210
Migratory Patterns - KubeCon Salt Lake City, 2024
phodgson
0
160
A Journey Into Feature Toggles - OSCON Austin 2017
phodgson
5
680
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
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
440
gunshi
kazupon
1
110
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
440
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
190
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.7k
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
170
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
130
Developing static sites with Ruby
okuramasafumi
0
320
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
410
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
170
愛される翻訳の秘訣
kishikawakatsumi
3
340
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
140
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
290
How Software Deployment tools have changed in the past 20 years
geshan
0
30k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
73
My Coaching Mixtape
mlcsv
0
13
Balancing Empowerment & Direction
lara
5
820
We Have a Design System, Now What?
morganepeng
54
7.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Rails Girls Zürich Keynote
gr2m
95
14k
Tell your own story through comics
letsgokoyo
0
760
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
0
300
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