A Deep Dive into 2 Cross-Platform Mobile Apps Written in C++
summary
Concrete claims and outcomes only: Dropbox builds two apps, Mailbox and Carousel, by sharing a shared C++ model for syncing, storage and view models and using a custom JNI bridge to avoid five-file call chains. Moving photo metadata and JPEG buffers into native code removes hundreds of thousands of Java objects and cuts GC pauses that reached ~500 ms, yields consistent animations via a fast change‑set diff, lets iOS/Android reuse logic, and ships features with real tradeoffs in tooling and debugging.
AI-written summary · about
chapters (23)
- 0:00Intro
- 3:05What was wrong?
- 4:12Possible solutions?
- 5:03Rich App Requirements
- 6:13Mission: Build a Photos App
- 7:05Mission 2: Welcome Mailbox
- 7:47Sync API & Datastores
- 9:42Solution: Leverage C++
- 11:39Architecture
- 21:11Mailbox++
- 25:09Concepts
- 27:39How they relate
- 32:49C++ Wins on Android
- 35:02Win 1: Better Awareness
- 37:46Defeat the GC #1
- 39:23Win 3: Defeat the GC #2
- 41:08Hiding Memory
- 48:06Library choices
- 48:31Lean on me!
- 49:42Did it work?
- 51:41Features with no extra c++
- 52:50Roses have thorns
- 55:26Future work
related talks
33mThe (not so) hidden cost of sharing code between iOS and Android
49m“Cross-Platform Apps with Dropbox’s Djinni..."
41mCrossplatform 2019: C ++ as an antagonist in a progressive world
25mKotlin Multiplatform Mobile in production: key takeaways from developing two cross-platform apps
43mDoppl Code Sharing
25mUnderstanding native iOS from an Android perspective
28mThe ever increasing convergence of native iOS and Android mobile development
25mThe ever increasing convergence of native Android and iOS development
