Beyond Web-Apps: React, JavaScript and WebAssembly To Port Legacy Native Apps
summary
GDevelop’s C++ core compiles with Emscripten into a 3 MB WebAssembly bundle (currently using asmjs) and exposes game classes to JavaScript via WebIDL bindings, while the UI moves to React with Material‑UI, React Virtualized, PixiJS and Electron packaging. Memory must be managed across the JS/Wasm boundary and calls to Wasm are expensive so many values get cached in JS. Result: preview speed stays native, development cycles become ultra‑fast iteration, more contributors, and users accept the rebuilt editor after missing features return.
AI-written summary · about
chapters (16)
- 0:00Intro
- 3:01The editor is getting old
- 6:55Using Emscripten
- 7:46Expose existing classes
- 9:02Use Emscripten classes
- 11:16Things to know
- 12:35Finding a component library
- 15:51Moveable editors
- 16:31Keyboard handling
- 18:08Virtualization again!
- 18:44Levels rendering or visualizations
- 21:05Double check rendering of your components
- 24:20Ultra fast iteration and testing
- 24:38Modular development of UI components
- 25:25Auto-updates and packaging... and code signing and upload, and creating
- 28:12What are users saying?
related talks
30mNative Web Apps: React, JS & WebAssembly to rewrite native apps
33mBeyond Web-Apps React, Javascript and WebAssembly to Port Legacy Native Apps
27mNative Web Apps: React and WebAssembly to Rewrite Native Apps
36mWhy you should consider Web Assembly in your next frontend project
16mWhy WebAssembly
29mWebAssembly - the Final Frontier
28mWebAssembly: Of Portability, and Performance
32mWhat WebAssembly means for React
