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
570
2
Share
Multi-platform Mobile with Calatrava - May 2013
Pete Hodgson
May 23, 2013
More Decks by Pete Hodgson
See All by Pete Hodgson
Feature Flags Suck! - KubeCon Atlanta 2025
phodgson
1
270
Migratory Patterns - KubeCon Salt Lake City, 2024
phodgson
0
200
A Journey Into Feature Toggles - OSCON Austin 2017
phodgson
5
710
Test-driven Client-side JS
phodgson
5
900
Functional Reactive JavaScript
phodgson
8
850
different.js - Forward JS 2014
phodgson
4
880
Railsconf2014
phodgson
7
1.5k
Building Your Own Lightsaber
phodgson
104
6.5k
iOS Unit Testing Workshop
phodgson
3
580
Other Decks in Programming
See All in Programming
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
550
運転動画を検索可能にする〜Cosmos-Embed1とDatabricks Vector Searchで〜/cosmos-embed1-databricks-vector-search
studio_graph
0
280
10年分の技術的負債、完済へ ― Claude Code主導のAI駆動開発でスポーツブルを丸ごとリプレイスした話
takuya_houshima
0
2.6k
NakouPAY説明用
annouim0
0
240
10 Tips of AWS ~Gen AI on AWS~
licux
5
410
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
140
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
820
Liberating Ruby's Parser from Lexer Hacks
ydah
2
1.4k
JOAI2026 1st solution - heron0519 -
heron0519
0
140
Vibe NLP for Applied NLP
inesmontani
PRO
0
440
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
3k
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
3
520
Featured
See All Featured
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
450
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
350
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
Building Adaptive Systems
keathley
44
3k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
170
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
220
Site-Speed That Sticks
csswizardry
13
1.2k
It's Worth the Effort
3n
188
29k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
680
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
Believing is Seeing
oripsolob
1
110
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