Ives van Hoorne - All the ways to execute JavaScript code - React Live 2023

Explore the inner workings of CodeSandbox, a powerful online development environment, and learn about its innovative features such as virtual machines, WebAssembly, and Node.js integration.

Key takeaways
  • CodeSandbox is an online development environment that allows developers to write, run, and share code in a web browser.
  • JavaScript bundlers have four stages: parsing, lexical analysis, syntax analysis, and optimization.
  • CodeSandbox uses a VM to run code in the browser, and microVMs with snapshot and restore technology for faster loading.
  • Child process is used to run Node.js code in the browser, and it can be used for parallelization and context-switching.
  • ESBuild is a fast bundler written in Go that is used in CodeSandbox.
  • The use of WebAssembly (WASM) allows for faster loading and execution of code.
  • CodeSandbox supports multiple files, file systems, and loaders, making it a powerful online development environment.
  • It is possible to use CodeSandbox as a replacement for local development environments, but it is not recommended.
  • CodeSandbox uses modern browser technologies such as ES modules, and it is not a replacement for local development environments.
  • The bundler in CodeSandbox can be configured to optimize code and reduce bundle size.
  • CodeSandbox has a feature called “notebooks” that allows developers to write and run code in a web browser.
  • The use of snapshot technology allows for faster loading and resuming of code.
  • CodeSandbox has a feature called “firecracker” that allows for faster loading and execution of code.
  • The use of WASM and Go allows for faster execution and loading of code.
  • CodeSandbox has a feature called “microVMs” that allows for faster loading and execution of code.
  • The use of parallelization and context-switching allows for faster execution and loading of code.
  • CodeSandbox is a powerful online development environment that allows developers to write, run, and share code in a web browser.