Bringing a Mobile C++ Codebase to the Web
Djinni is a tool for generating cross-language interface bindings between C++ and other languages. At Snap we managed to add full featured WebAssembly support to it. This means the same interface definitions for mobile platforms can now expose C++ code to Javascript and TypeScript code running in web browsers.
This work has helped bring Snap's large mobile C++ code base to the web with minimal change. It is the foundation of the recently released Snapchat for Desktop Web. And it is currently available on Github (https://github.com/snapchat/djinni).
In this talk you will see how Djinni enabled Snapchat to reuse our mobile C++ codebase in a browser app, how it works under the hood, and how you can use this open source tool in your own web projects.
Li Feng
Li has been writing software in C++ for over 20 years. He is currently a software engineer at Snap and the maintainer of Snap's open source Djinni project.