Practical Cross-Platform Mobile C++ Development
summary
Claim: Dropbox moves complex logic into a single C++ core and keeps the UI native, uses Objective‑C++ and JNI bridges and a code‑generator (Djinni/Genie) so teams avoid reimplementing features that previously shipped camera uploads four months apart when done twice. Tools: C++11/14, clang/GCC, GYP, Djinni on GitHub. Built: Carousel and other mobile apps with a shared C++ sync layer. Result: production apps ship and hit native performance while most glue is autogenerated.
AI-written summary · about
chapters (33)
- 0:00Intro
- 3:35Build everything native?
- 5:14Build it entirely custom?
- 6:32Native UI, Xplatform core
- 8:52Expanding that out...
- 12:45Principles of your language bridge
- 14:27Sync progress...
- 15:19Our Situation
- 16:26Setting the Baseline
- 17:23Our Approach
- 18:42Our Tools
- 20:02Raising the Libraries
- 21:50Networking & HTTP
- 22:22C++ Libraries
- 23:58Platform Frameworks
- 25:18HTTP as a Platform Service
- 26:46Background Threads
- 28:37Threads as a Platform Service
- 29:53Bridging to Java
- 31:35It gets ugly...
- 40:14What's my point?
- 41:43Bridging to Objective-C
- 42:41Objective-C++ is Complex
- 46:43What is Djinni?
- 47:09What does Djinni do?
- 47:50Djinni IDL
- 48:22Primitive Types
- 49:20Other Features static methods
- 51:59Example Output
- 54:28Try this out!
- 55:19Conclusions
- 56:20Future Work
- 57:45More Info
related talks
52mCross plattform C++ development is challenging
55mC++ 20 Innovations: High-Performance Cross-Platform Architecture in C++
37mC++ for multi-accelerator, multi-vendor systems
41mC++ Migration Strategies
39mSeamless Multiplatform – Kotlin-Rust-Multiplatform?!
01h 04mAbstraction Patterns for Cross Platform Development Using C++
24mJourney to Fullstack Mobile Game Development in Rust
01h 03mWriting sustainable software. The how and the what!
