This event has ended. View the official site or create your own event → Check it out
This event has ended. Create your own
View analytic
Wednesday, September 23 • 3:15pm - 4:15pm
Bridging Languages Cross-Platform: Djinni Implementation Techniques

Log in to save this to your schedule and see who's attending!

Dropbox has been using C++ for cross-platform development on mobile platforms since 2012. In 2014 we open-sourced Djinni, our code generator that bridges C++ to other languages. In this talk we'll dive deep into some implementation techniques we use to bridge languages, easily, flexibly, and efficiently. We'll use the recent addition of Python-to-C++ bridging as an example of the challenges and decisions which come up when building a bridge between two very different languages, as well as talking about some interesting challenges we faced in Java and Objective-C.  Topics include marshaling data-types, cross-language object ownership and identity, template-generated cached proxy objects, and translation of exceptions. What you learn should arm you to bridge languages for your own needs, or use/extend Djinni for your own programs. No prior knowledge of Djinni or mobile development required, but intermediate C++ will be assumed, and a bit of Python will be useful.

avatar for Jacob Potter

Jacob Potter

Software Engineer, Dropbox
Jacob Potter is a recovering embedded systems engineer who is now driving Dropbox’s use of modern C++ for cross-platform mobile development. He's also the primary maintainer of Djinni, the tool Dropbox uses for generating cross-language bindings.
avatar for Andrew Twyman

Andrew Twyman

Software Engineer, Dropbox
Andrew Twyman has been developing products and libraries in C++ for almost 10 years. He loves building robust systems and solving tricky low-level problems. Starting in 2012, Andrew helped spearhead Dropbox’s new approach to cross-platform mobile development. Now on the Platforms and Libraries team, Andrew is helping bring cross-platform goodness to Dropbox’s new generation of mobile and desktop apps. Prior to Dropbox, Andrew was an architect... Read More →

Wednesday September 23, 2015 3:15pm - 4:15pm
Noether (408) Meydenbauer Center