Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Adventures in Cross Platform
Search
Jason Kneen
May 11, 2014
Technology
480
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Adventures in Cross Platform
My Talk from Day 2 of TiConf US 2014 on cross-platform lessons learnt.
Jason Kneen
May 11, 2014
More Decks by Jason Kneen
See All by Jason Kneen
Adventures in Cross Platform TiConf EU 2014
jasonkneen
3
1.1k
Dynamic Styles with Widgets and Alloy 1.2
jasonkneen
0
710
URL Schemes and Titanium - Redux
jasonkneen
1
450
Introduction to Titanium from DMC13
jasonkneen
1
210
Titanium and URL Schemes
jasonkneen
14
6.7k
Other Decks in Technology
See All in Technology
E2Eってつらくないですか?E2Eの管理コストを下げる手段とその実践
akaboshinit
2
510
バフェットコード開発チームの心得(v1.1)
shoe116
0
110
ドメインエキスパートは いかにして AI を使って プロダクト開発をするか
tatsuyashiraishi
1
200
(swiftc) NonCopyableとライフタイム修飾子
teamhimeh
0
130
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
320
dbt Semantic Layerで進めるenechainのデータ民主化
akizhou
1
270
2026-10-24 JAWS JAWS-UG 茨城 #18 IAM Policy Autopilotってなにさ。terraform planからIAM Policyつくれるの? / What's IAM Policy Autopilot
masasuzu
0
170
Claude Code on Bedrock で統制をかける小ネタ集/claude-code-bedrock-governance-tips
emiki
1
13k
Deep Data Security 機能解説
oracle4engineer
PRO
3
940
Draft AIエージェントの トークン消費を最小化する 8つの原則
kinopeee
5
1.8k
導入から定着へ ~コーディングエージェントを日常業務に組み込む実践知~
yukisakai1225
0
240
Filter What the LLM Reads: RAG Governance with AgentCore Gateway
yakumo
0
110
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
580
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
960
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
280
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
BBQ
matthewcrist
90
10k
For a Future-Friendly Web
brad_frost
184
10k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
470
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
940
WENDY [Excerpt]
tessaabrams
14
40k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
950
Transcript
Adventures in cross platform Jason Kneen
+BTPO,OFFO http://twitter/jasonkneen http://github.com/jasonkneen http://jasonified.com http://bouncingfish.com App Developer, TCE Certified Titanium
“Titan”
• Breakdown pricing; Core, iOS, Android • Factor in platform,
form factors • Include costs for AppStore submissions, re-submissions Pricing
Design Retina Dimensions No font details Designed for iOS
• Acknowledge OS differences (Nav, back buttons) • Educate the
client / designer • Give examples / links to tools • Send them images folder structure Design
• Real devices • hdpi, ldpi, etc • Multiple OSs
• Don’t forget 2.3.x Testing
• TestFlight • Installrapp Delivery
• Free, easy • Fast • Google APIs, Play support,
simple “hack” • Great GPS, Mapping tools • Android first! Genymotion
Android development before Genymotion
Android development after Genymotion
• See changes (almost) instantly • Works on simulator, emulator,
device • Instantly resolve platform differences as you go • Don’t get “locked in” to one platform • But, there be dragons! Use TiShadow / Liveview
• Separation of business logic & UI • Isolate code
with OS_IOS, OS_ANDROID • Platform, formfactor specific elements • Only relevant code / files are included in a build • Makes cross-plaform easier Alloy
• Separate business logic • APIs, Social, GPS etc •
Better memory management • Easier to re-use commonJS
• Define granular classes • Test layouts on both platforms
• app.tss for global classes • “reset” for Android • Platform specific overrides app.tss, classes
• Use dp/dip (ti.ui.defaultunit) • Avoid fixed widths / heights,
unless.. • Top, Left, Bottom, Right is the same on all devices • %age and fluid layouts • Dynamic buttons Flexible layouts
• Very granular • Long, NotLong, Landscape, Portrait • Keep
it simple • Retina images and Android ! ! Density Images
• iOS style stretchable images • Splash screens • Android
version of leftCap, topCap • Editor built-in to Android SDK • http://9patch.fokkezb.nl/ ! 9-Patch images
• Reduce “over the bridge” calls • TableViews - classname
• ImageViews vs Views • ListViews over TableViews • Reduce views, especially in tables Android Performance
• Views = screens • Swipe between (great for prototyping
/ demos) • Disable manual swiping • Simple view stack management • Super-fast and smooth animation on Android ScrollableView Navigation
• Simple “inheritance” for Alloy Controllers • Re-use controllers, views
• Create cross-platform template wrappers Base Controllers
• <require src=“controllerName”/> • Latest Alloy supports require/widgets with children
• Create a wrapper template controller Require templates
• Little-known feature of Alloy • Override Alloy Tags to
provide per-platform support • Create your own tags! • Not a replacement for Widgets, just different The “module” attribute
None
Thank you!
+BTPO,OFFO http://twitter/jasonkneen http://github.com/jasonkneen http://jasonified.com http://bouncingfish.com