Popcorn: Running Elixir in the Browser
Popcorn is a novel library enabling the execution of Elixir code within web browsers. Leveraging the AtomVM runtime, it executes compiled Elixir code client-side, offering APIs for Elixir-JavaScript interaction, serialization, and communication, while ensuring browser responsiveness. Currently under development, with an unstable API, it showcases three live examples: a simple Elixir REPL, interactive tutorials, and a Game of Life implementation. Developers can start using Popcorn by adding it as a dependency in their `mix.exs` and setting up JS and Elixir WASM entry points. It connects JS and Elixir via message passing and allows direct JS execution from Elixir. The Elixir side uses the `Popcorn.Wasm` module, while the JS side uses the `Popcorn` class.