<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="365896" data-post-id="365896">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mjrusso" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mjrusso/120/29805_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mjrusso
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>This is awesome, thanks for building this! (And leveraging AtomVM is such a great idea.)</p>
<p>Out of curiosity, have you tried running the WASM build with <a href="https://github.com/tessi/wasmex" rel="noopener nofollow ugc">Wasmex</a>? Popcorn seems like it could be another great option for user scripting (<a class="mention" href="/u/acco" rel="nofollow">@acco</a>’s treatment of options for user scripting is wonderful: <a href="https://blog.sequinstream.com/why-we-built-mini-elixir/" class="inline-onebox" rel="noopener nofollow ugc">Microsecond transforms: Building a fast sandbox for user code</a>).</p>
<p>I know Popcorn’s focus is on running in the browser, but curious if you think non-browser WASM applications could (potentially) make sense for Popcorn.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="365896" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/popcorn-a-new-tool-to-run-elixir-in-browsers/70886/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-365896" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="365896"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="365914" data-post-id="365914">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mat-hek" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mat-hek/120/38168_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mat-hek
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Membrane Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>This is in our backlog, but I’m unsure how hard it is. We’d need to make AtomVM compatible with <a href="https://wasi.dev/" rel="noopener nofollow ugc">WASI</a>, which is the way to run WebAssembly on the server. The challenge is basically that WASI is quite limited in terms of which POSIX features you can use.</p>
<p>But I’d love to see that happen, too! From what I read, it would unlock some cool projects like <a href="https://forum.elixirforum.com/t/use-elixir-to-create-the-next-wordpress/41676" rel="nofollow">Wordpress in Elixir</a> <img src="https://forum.elixirforum.com/images/emoji/apple/wink.png?v=15" title=":wink:" class="emoji" alt=":wink:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="365914" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/popcorn-a-new-tool-to-run-elixir-in-browsers/70886/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-365914" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="365914"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="369868" data-post-id="369868">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jgonet" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jgonet/120/11084_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jgonet
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Popcorn Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<h1><a name="p-369868-popcorn-popcorn-010-1" class="anchor" href="#p-369868-popcorn-popcorn-010-1" aria-label="Heading link" rel="nofollow"></a><img src="https://forum.elixirforum.com/images/emoji/apple/popcorn.png?v=15" title=":popcorn:" class="emoji" alt=":popcorn:" loading="lazy" width="20" height="20"> Popcorn 0.1.0</h1>
<p>I’m very happy to announce first <em>official</em> Popcorn release. On this occasion, Mateusz wrote a <a href="https://blog.swmansion.com/popcorn-bringing-elixir-to-the-browser-8993a58a00be" rel="noopener nofollow ugc">blog post</a> that mostly covers what was said on Elixir Conf EU.</p>
<p>Since last time we made a bit of progress:</p>
<ul>
<li>Support for OTP applications.</li>
<li><a href="https://popcorn.swmansion.com/#live-demo" rel="noopener nofollow ugc">IEx example</a>.</li>
<li><code>run_js</code> value batching.</li>
<li>New NIFs, fixes for old ones, finding missing ones. Good ol’ “various fixes and improvements”.</li>
</ul>
<p>For the near future, we want to discuss good, concrete use-cases for Popcorn, do some research, and stabilize whatever we can.<br>
We welcome any form of feedback: bug reports, ideas, sharing demos, etc. Find us on <a href="https://github.com/software-mansion/popcorn" rel="noopener nofollow ugc">Github</a>, Software Mansion Discord, or at <a href="mailto:popcorn@swmansion.com" rel="nofollow">popcorn@swmansion.com</a>.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="369868" data-batch-url="/posts/batch_likers">
                        11
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/popcorn-a-new-tool-to-run-elixir-in-browsers/70886/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-369868" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="369868"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="369887" data-post-id="369887">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="christhekeele" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/christhekeele/120/1039_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  christhekeele
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote group-Membrane-Core-Team" data-username="mat-hek" data-post="9" data-topic="70886">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mat-hek/48/38168_2.png" class="avatar"> mat-hek:</div>
<blockquote>
<p>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.</p>
</blockquote>
</aside>
<aside class="quote no-group" data-username="jgonet" data-post="14" data-topic="70886">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jgonet/48/11084_2.png" class="avatar"> jgonet:</div>
<blockquote>
<p>For the near future, we want to discuss good, concrete use-cases for Popcorn, do some research, and stabilize whatever we can.</p>
</blockquote>
</aside>
<p>I’ve been watching this with interest. Out of curiosity, what is the motivating use-case that has spurred this degree of development to date?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="369887" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/popcorn-a-new-tool-to-run-elixir-in-browsers/70886/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-369887" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="369887"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="369913" data-post-id="369913">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jgonet" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jgonet/120/11084_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jgonet
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Popcorn Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>It was an experiment at first, connecting with José’s vision of Elixir interoperability (check out his keynote talk at Elixir Conf EU). We’d like to do more open-source at Software Mansion, too.</p>
<p>I personally find value in future integration with ecosystem libraries and frameworks – improving JS interop in Phoenix, creating local-first apps (Ecto, ElectricSQL), a layer calling endpoints in Ash via plain Elixir, etc. A nice side-effect is improving AtomVM and its embedded use-cases.</p>
<p>As in original post, we’re currently in state where things start to stabilize and we can focus on those. I see Popcorn as a meta-framework and I find it important for the library to suggest some use-cases. When possibilities are endless, thinking about concrete solutions is harder.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="369913" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/popcorn-a-new-tool-to-run-elixir-in-browsers/70886/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-369913" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="369913"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="385095" data-post-id="385095">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jgonet" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jgonet/120/11084_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jgonet
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Popcorn Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<h1><a name="p-385095-popcorn-020-1" class="anchor" href="#p-385095-popcorn-020-1" aria-label="Heading link" rel="nofollow"></a><img src="https://forum.elixirforum.com/images/emoji/apple/popcorn.png?v=15" title=":popcorn:" class="emoji" alt=":popcorn:" loading="lazy" width="20" height="20"> Popcorn 0.2.0</h1>
<p>Hello! It’s been a while since the last release. We’ve been mostly working on AtomVM stability, improving communication between JS and Elixir runtimes, and running some experiments.</p>
<p>Experiments include local live view, Elixir language tour, and a bit of organisation – we changed JS to be deployed as npm package instead of keeping .js files in <code>priv/</code>.</p>
<p>Full changelog <a href="https://github.com/software-mansion/popcorn/releases/tag/v0.2.0" rel="noopener nofollow ugc">on Github</a>.<br>
I also wrote <a href="https://blog.swmansion.com/the-three-lang-problem-shipping-elixir-runtime-js-and-webassembly-as-one-npm-package-5a7b76ad5b90" rel="noopener nofollow ugc">an article</a> about creating JS package with Wasm (or rather, Emscripten) components. It was quite a journey, I have to say.</p>
<p>(it was released four days ago but I completely forgot about this thread)</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="385095" data-batch-url="/posts/batch_likers">
                        9
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/popcorn-a-new-tool-to-run-elixir-in-browsers/70886/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-385095" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="385095"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #16"></div>
  </section>
</div>
    <div class="postbit" id="389776" data-post-id="389776">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jgonet" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jgonet/120/11084_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jgonet
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Popcorn Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<h1><a name="p-389776-popcorn-popcorn-030-1" class="anchor" href="#p-389776-popcorn-popcorn-030-1" aria-label="Heading link" rel="nofollow"></a><img src="https://forum.elixirforum.com/images/emoji/apple/popcorn.png?v=15" title=":popcorn:" class="emoji" alt=":popcorn:" loading="lazy" width="20" height="20"> Popcorn 0.3.0</h1>
<p>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.<br>
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 <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>Local Live View is aaalmost there, we hope we can release it in the foreseeable future.</p>
<p>Changelog: <a href="https://github.com/software-mansion/popcorn/releases/tag/v0.3.0" class="inline-onebox" rel="noopener nofollow ugc">Release v0.3.0 · software-mansion/popcorn · GitHub</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="389776" data-batch-url="/posts/batch_likers">
                        11
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/popcorn-a-new-tool-to-run-elixir-in-browsers/70886/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-389776" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="389776"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>