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
580
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
300
Migratory Patterns - KubeCon Salt Lake City, 2024
phodgson
0
220
A Journey Into Feature Toggles - OSCON Austin 2017
phodgson
5
730
Test-driven Client-side JS
phodgson
5
930
Functional Reactive JavaScript
phodgson
8
870
different.js - Forward JS 2014
phodgson
4
890
Railsconf2014
phodgson
7
1.5k
Building Your Own Lightsaber
phodgson
104
6.5k
iOS Unit Testing Workshop
phodgson
3
590
Other Decks in Programming
See All in Programming
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
450
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
240
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
550
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
400
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
120
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
240
数百円から始めるRuby電子工作
tarosay
0
110
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
380
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
150
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
180
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
210
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1k
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
810
How to make the Groovebox
asonas
2
2.3k
Thoughts on Productivity
jonyablonski
76
5.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
660
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
YesSQL, Process and Tooling at Scale
rocio
174
15k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
180
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Skip the Path - Find Your Career Trail
mkilby
1
170
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