Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Adventures in Cross Platform
Search
Jason Kneen
May 11, 2014
Technology
2
460
Adventures in Cross Platform
My Talk from Day 2 of TiConf US 2014 on cross-platform lessons learnt.
Jason Kneen
May 11, 2014
Tweet
Share
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
690
URL Schemes and Titanium - Redux
jasonkneen
1
400
Introduction to Titanium from DMC13
jasonkneen
1
180
Titanium and URL Schemes
jasonkneen
14
6.6k
Other Decks in Technology
See All in Technology
"人"が頑張るAI駆動開発
yokomachi
1
110
2025-12-18_AI駆動開発推進プロジェクト運営について / AIDD-Promotion project management
yayoi_dd
0
150
松尾研LLM講座2025 応用編Day3「軽量化」 講義資料
aratako
1
1.2k
オープンソースKeycloakのMCP認可サーバの仕様の対応状況 / 20251219 OpenID BizDay #18 LT Keycloak
oidfj
0
140
AgentCoreとStrandsで社内d払いナレッジボットを作った話
motojimayu
1
760
Kiro を用いたペアプロのススメ
taikis
4
1.6k
Agent Skillsがハーネスの垣根を超える日
gotalab555
6
3.9k
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
320
M&Aで拡大し続けるGENDAのデータ活用を促すためのDatabricks権限管理 / AEON TECH HUB #22
genda
0
230
Snowflake導入から1年、LayerXのデータ活用の現在 / One Year into Snowflake: How LayerX Uses Data Today
civitaspo
0
2.2k
「もしもデータ基盤開発で『強くてニューゲーム』ができたなら今の僕はどんなデータ基盤を作っただろう」
aeonpeople
0
230
事業の財務責任に向き合うリクルートデータプラットフォームのFinOps
recruitengineers
PRO
2
180
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.4k
Site-Speed That Sticks
csswizardry
13
1k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
680
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
0
950
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
71
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.1k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
49
39k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
27
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Deep Space Network (abreviated)
tonyrice
0
20
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
1
200
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
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