Bringing a Mobile C++ Codebase to the Web
summary
Djinni gains full WebAssembly support so the same IDL and generated bindings reuse Snapchat’s large mobile C++ codebase to produce Snapchat for Desktop Web with minimal C++ change, released months before this talk. It generates TypeScript interface output, forwards primitives via embind, maps C++ containers to JS arrays/maps, and models async as futures→Promises. Automatic lifetime uses the browser FinalizationRegistry to drop shared_ptrs. Known limits: no user‑defined map keys, no multithreading, and recent browsers are required.
AI-written summary · about
chapters (6)
- 0:00Introduction
- 8:21Genie workflow
- 11:29Live demo
- 18:05Implementation
- 20:44JavaScript Implementation
- 24:09Marshalling Data
related talks
32mC++ Everywhere with WebAssembly
30mNative Web Apps: React, JS & WebAssembly to rewrite native apps
26mWebAssembly as cross-platform architecture?!
39mBringing the power of C++ to the web
30mBeyond Web-Apps: React, JavaScript and WebAssembly To Port Legacy Native Apps
57mC++ on the Web: Let's have some serious fun.
27mNative Web Apps: React and WebAssembly to Rewrite Native Apps
41mCreating High-Performance Web Apps with WebAssembly
