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:

First Post!

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

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
tmbb
I’ve published the first version of my Makeup library. It’s a syntax highlighter for Elixir in the spirit of Pygments, Currently it highl...
New
Crowdhailer
Raxx is an alternative to Plug and is inspired by projects such as Rack(Ruby) and Ring(Clojure). 1.0-rc.1 is now available. To use it re...
New
anshuman23
Hello all, I have been working on my proposed project called Tensorflex as part of Google Summer of Code 2018.. Tensorflex can be used f...
New
danschultzer
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch. This project took far...
548 30380 241
New
mplatts
With HEEX released we decided to start a components library using Tailwind CSS - check it out here: Petal Components. We also have a boi...
New
tfwright
After working on it for a couple of months and using it in production for most of that time, today I’ve released LiveAdmin, a LiveView ba...
New

Other popular topics Top

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
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 44608 311
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New

We're in Beta

About us Mission Statement