mat-hek

mat-hek

Membrane Core Team

Popcorn - a new tool to run Elixir in browsers

Popcorn lets you run Elixir code in the browser via WebAssembly. It builds on top of AtomVM, a tiny Erlang VM. It’s early stages and breaks sometimes, but you can run Elixir code and even Elixir and Erlang compilers right from the browser.

We created some cool examples too - check them out at popcorn.swmansion.com, and the repo is available at

github.com/software-mansion/popcorn

Happy hacking :wink:

Most Liked

mat-hek

mat-hek

Membrane Core Team

No, it’s quite the opposite :smiley: The goal is to run Elixir code on the client side. It would enable features like IEx or HexDocs examples running in the browser, but also local-first applications in Elixir. We aim to provide as many BEAM features as we can, if they make sense in that context, and good enough performance for these use cases.

14
Post #9
jgonet

jgonet

Popcorn Core Team

:popcorn: Popcorn 0.1.0

I’m very happy to announce first official Popcorn release. On this occasion, Mateusz wrote a blog post that mostly covers what was said on Elixir Conf EU.

Since last time we made a bit of progress:

  • Support for OTP applications.
  • IEx example.
  • run_js value batching.
  • New NIFs, fixes for old ones, finding missing ones. Good ol’ “various fixes and improvements”.

For the near future, we want to discuss good, concrete use-cases for Popcorn, do some research, and stabilize whatever we can.
We welcome any form of feedback: bug reports, ideas, sharing demos, etc. Find us on Github, Software Mansion Discord, or at popcorn@swmansion.com.

jgonet

jgonet

Popcorn Core Team

:popcorn: Popcorn 0.3.0

We’ve released Popcorn v0.3.0 two weeks ago, which introduces a new event system that lets you pass data from Elixir to JS more easily.
By complete accident it also fixes our less-than-ideal publishing process which broke all previous versions of the package after Hex update. You live and learn :slight_smile:

Local Live View is aaalmost there, we hope we can release it in the foreseeable future.

Changelog: Release v0.3.0 · software-mansion/popcorn · GitHub

Where Next?

Popular in Announcing Top

grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 54006 488
New
wmnnd
Hi there, for my project DBLSQD, I needed a file storage solution that is a bit more flexible than Arc. Because I thought others might f...
New
danschultzer
In short Plug n’ play OAuth 2.0 provider library. Just set up a resource owner schema with Ecto (your user schema), install the dependen...
New
pkrawat1
Hey guyz We at @aviabird are working on a payment library in elixir/phoenix. We are targeting March 2018 to add 56 Gateways to it. Have...
New
devonestes
Introducing assertions, the library that helps you write really great test assertions! GitHub: GitHub - devonestes/assertions: Helpful a...
New
kevinlang
Hey all, We have made an Ecto3 Adapter for SQLite3, ecto_sqlite3! We have successfully on-boarded the full suite of integration tests (...
New
nikokozak
Hello all, I’ve been working on Svonix - a library for quickly integrating Svelte components into Phoenix views. It’s a much-needed succ...
New

Other popular topics Top

grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 54006 488
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 31494 112
New
SoCreat
i’m a new one to elixir which editor can i use vs code? or atom? Thanks! :smiley:
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New

We're in Beta

About us Mission Statement