Bringing a Mobile C++ Codebase to the Web - Li Feng - CppCon 2022

Learn how to seamlessly bring a mobile C++ codebase to the web using Gini, an open-source project that allows for automatic memory management, WebAssembly support, and ease of use.

Key takeaways
  • Gini is a project that originated from Dropbox and allows bridging of C++ code to JavaScript.
  • Snapchat uses Gini to bring its mobile C++ codebase to the web, allowing for very little changes to be made.
  • Gini provides automatic memory management, making it easier to develop web apps.
  • The Gini workflow involves creating IDL files, generating TypeScript interfaces, and implementing them in JavaScript.
  • Gini also supports WebAssembly, allowing for improved performance and compatibility.
  • The presentation demonstrates how to use Gini to create a web app using C++ code, showcasing the ease of use and low overhead.
  • Gini can be used to generate interfaces for containers such as sets and maps, and provides advanced features like exception handling and asynchronous methods.
  • Gini is free and open source, and has been actively developed and maintained by Snapchat.
  • The presentation also compares Gini to other C++ binding tools, highlighting its advantages and limitations.