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
260
Migratory Patterns - KubeCon Salt Lake City, 2024
phodgson
0
190
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
570
Other Decks in Programming
See All in Programming
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
230
Swift Concurrency Type System
inamiy
0
350
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
4.7k
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
440
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
6k
おれのAgentic Coding 2026/03
tsukasagr
1
140
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
540
KagglerがMixSeekを触ってみた
morim
0
370
AI活用のコスパを最大化する方法
ochtum
0
380
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
340
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
190
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
180
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
520
Balancing Empowerment & Direction
lara
5
1k
Technical Leadership for Architectural Decision Making
baasie
3
310
Leo the Paperboy
mayatellez
7
1.6k
Designing for humans not robots
tammielis
254
26k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
We Have a Design System, Now What?
morganepeng
55
8.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Accessibility Awareness
sabderemane
0
94
We Are The Robots
honzajavorek
0
210
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