---
title: "Popcorn 1.0 发布：浏览器里跑 Elixir，底层从 AtomVM 换到 OTP/BEAM - Angryecho"
description: "Software Mansion 工程师 Kuba Gonet 于 2026 年 10 月 27 日发文宣布 Popcorn 1.0 稳定版：这是一款在浏览器里运行 Elixir 的库，底层虚拟机从面向嵌入式场景的 AtomVM，换成编译到 Wasm 的 OTP/BEAM。["
canonical_url: "https://www.angryecho.com/c/hou_duan_kai_fa/p/P2TBBrMvDQm5jy3ivtx92"
meta:
  "og:description": "Software Mansion 工程师 Kuba Gonet 于 2026 年 10 月 27 日发文宣布 Popcorn 1.0 稳定版：这是一款在浏览器里运行 Elixir 的库，底层虚拟机从面向嵌入式场景的 AtomVM，换成编译到 Wasm 的 OTP/BEAM。["
  "og:image": "https://www.angryecho.com/_og/d/c_Post%2Ctitle_~5ZCQ5qe9572R%2Cdescription_~5ZCQ5qe95LiA5LiL77yM5bCx5LiK5ZCQ5qe9572R44CC%2CpostId_P2TBBrMvDQm5jy3ivtx92%2Crevision_~MjAyNi0xMC0zMVQwMjo1NTo1OC4wNzkwMzZa%2Cp_Ii9jL2hvdV9kdWFuX2thaV9mYS9wL1AyVEJCck12RFFtNWp5M2l2dHg5MiI%2Cs_4rpXuAKq8_RAUVP-.png"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "Popcorn 1.0 发布：浏览器里跑 Elixir，底层从 AtomVM 换到 OTP/BEAM"
---

> Index of every page on this site: [llms.txt](https://www.angryecho.com/llms.txt)

# **Popcorn 1.0 发布：浏览器里跑 Elixir，底层从 AtomVM 换到 OTP/BEAM**

Software Mansion 工程师 Kuba Gonet 于 2026 年 10 月 27 日发文宣布 **Popcorn 1.0** 稳定版：这是一款在浏览器里运行 Elixir 的库，底层虚拟机从面向嵌入式场景的 AtomVM，换成编译到 Wasm 的 OTP/BEAM。\[1]

此前 Popcorn 走 AtomVM，体积小、启动快，但为贴近未修改的 Elixir 标准库，团队长期维护大量补丁，兼容成本越来越高。作者写到：BEAM 本身是移动靶，语言、字节码与语义并无完整规格，想在 AtomVM 上做到 100% 兼容并不现实。2025 年末 Mateusz Furga 尝试把 OTP/BEAM 编到 Wasm；次年一月在原型可跑之后，团队逐步把示例与 Elixir Language Tour 迁到新运行时。\[1]

## 体积、启动与兼容面

按作者博客披露：当前随包约 **730 KB** Wasm（Brotli 压缩），冷启动约 **200 ms**（暖启动约 140 ms）。对照 AtomVM 一侧约 250 KB、启动约 80 ms；另需约 2.5 MB 标准库 `.beam`（可树摇）。作者称 AtomVM 启动约快 3.2 倍，但在测得的工作负载上 OTP 执行约快 3.4 倍至 1800 倍；解释型路径上 BEAM 评估模块约 70 ms，AtomVM 约 240 ms。另提供带 / 不带 crypto（OpenSSL 编进 Wasm）两套构建。\[1]

BEAM 侧补上了当时 AtomVM 版本里缺的一批能力，如 bitstrings、正则、完整 ETS、protocols、部分 `system`/`process_info` 与缺失 NIF 等。官方示例站与 Local LiveView 已切到 OTP/BEAM。\[1]

## API 与浏览器边界

隔离从 iframe 改为 **Web Workers**，便于多 VM 实例，并降低主窗口被挂死的风险。网络上浏览器没有原生 TCP socket，Req 常用的 Finch 不可用；团队提供 **Popcorn.Fetch**，用浏览器 `fetch()` 做 Req 适配器（仍受 CORS、重定向与可设请求头等限制）。JS 侧 `call`/`cast` 现会真正落到 Elixir 的 `handle_call`/`handle_cast`，并补上 `send()`。\[1]

浏览器侧仍无原生 socket、DNS、文件系统等；部分依赖已移除 NIF 的模块不可用。作者明确：这是「在浏览器里跑 Elixir / OTP 语义」，不是把任意服务端 OTP 应用原样搬进网页。\[1]

升级步骤见官方文档与发版说明；破坏性变更多为机械替换。后续计划包括 PopDoc（交互式 ExDoc 插件）、Local LiveView 与体积优化等。\[1]

> 说明：体积与启动数字据 Software Mansion 作者博客；与「馒头 PopcornMantou」等美食题材无关。浏览器限制与 OTP 子集以官方文档为准，本稿不写成可随意托管任意服务端 BEAM 应用。

## 来源

> \[1] [Kuba Gonet / Software Mansion，《Popcorn 1.0: Moving from AtomVM to OTP/BEAM》](https://swmansion.com/blog/popcorn-1-0-moving-from-atom-vm-to-otp-beam/)，2026年10月27日；查询日 2026-10-28。

> \[2] [Hacker News: Popcorn 1.0 Released](https://news.ycombinator.com/item?id=50263967)，讨论帖；查询日 2026-10-28。

#Popcorn #Elixir #OTP #BEAM #Wasm #SoftwareMansion

排序方式 :

### **成为第一条评论！**

Nobody's responded to this post yet. Add your thoughts and get the conversation going.

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://www.angryecho.com/c/hou_duan_kai_fa/p/P2TBBrMvDQm5jy3ivtx92#post","@type":"DiscussionForumPosting","commentCount":0,"dateModified":"2026-10-31T02:55:58.079Z","datePublished":"2026-10-27T18:52:00.000Z","description":"Software Mansion 工程师 Kuba Gonet 于 2026 年 10 月 27 日发文宣布 Popcorn 1.0 稳定版：这是一款在浏览器里运行 Elixir 的库，底层虚拟机从面向嵌入式场景的 AtomVM，换成编译到 Wasm 的 OTP/BEAM。[","headline":"Popcorn 1.0 发布：浏览器里跑 Elixir，底层从 AtomVM 换到 OTP/BEAM","isPartOf":"https://www.angryecho.com/c/hou_duan_kai_fa","mainEntityOfPage":"https://www.angryecho.com/c/hou_duan_kai_fa/p/P2TBBrMvDQm5jy3ivtx92","text":"Software Mansion 工程师 Kuba Gonet 于 2026 年 10 月 27 日发文宣布 Popcorn 1.0 稳定版：这是一款在浏览器里运行 Elixir 的库，底层虚拟机从面向嵌入式场景的 AtomVM，换成编译到 Wasm 的 OTP/BEAM。[1]\n\n此前 Popcorn 走 AtomVM，体积小、启动快，但为贴近未修改的 Elixir 标准库，团队长期维护大量补丁，兼容成本越来越高。作者写到：BEAM 本身是移动靶，语言、字节码与语义并无完整规格，想在 AtomVM 上做到 100% 兼容并不现实。2025 年末 Mateusz Furga 尝试把 OTP/BEAM 编到 Wasm；次年一月在原型可跑之后，团队逐步把示例与 Elixir Language Tour 迁到新运行时。[1]\n\n体积、启动与兼容面\n\n按作者博客披露：当前随包约 730 KB Wasm（Brotli 压缩），冷启动约 200 ms（暖启动约 140 ms）。对照 AtomVM 一侧约 250 KB、启动约 80 ms；另需约 2.5 MB 标准库 .beam（可树摇）。作者称 AtomVM 启动约快 3.2 倍，但在测得的工作负载上 OTP 执行约快 3.4 倍至 1800 倍；解释型路径上 BEAM 评估模块约 70 ms，AtomVM 约 240 ms。另提供带 / 不带 crypto（OpenSSL 编进 Wasm）两套构建。[1]\n\nBEAM 侧补上了当时 AtomVM 版本里缺的一批能力，如 bitstrings、正则、完整 ETS、protocols、部分 system/process_info 与缺失 NIF 等。官方示例站与 Local LiveView 已切到 OTP/BEAM。[1]\n\nAPI 与浏览器边界\n\n隔离从 iframe 改为 Web Workers，便于多 VM 实例，并降低主窗口被挂死的风险。网络上浏览器没有原生 TCP socket，Req 常用的 Finch 不可用；团队提供 Popcorn.Fetch，用浏览器 fetch() 做 Req 适配器（仍受 CORS、重定向与可设请求头等限制）。JS 侧 call/cast 现会真正落到 Elixir 的 handle_call/handle_cast，并补上 send()。[1]\n\n浏览器侧仍无原生 socket、DNS、文件系统等；部分依赖已移除 NIF 的模块不可用。作者明确：这是「在浏览器里跑 Elixir / OTP 语义」，不是把任意服务端 OTP 应用原样搬进网页。[1]\n\n升级步骤见官方文档与发版说明；破坏性变更多为机械替换。后续计划包括 PopDoc（交互式 ExDoc 插件）、Local LiveView 与体积优化等。[1]\n\n\n\n说明：体积与启动数字据 Software Mansion 作者博客；与「馒头 PopcornMantou」等美食题材无关。浏览器限制与 OTP 子集以官方文档为准，本稿不写成可随意托管任意服务端 BEAM 应用。\n\n来源\n\n\n\n[1] Kuba Gonet / Software Mansion，《Popcorn 1.0: Moving from AtomVM to OTP/BEAM》，2026年10月27日；查询日 2026-10-28。\n\n\n\n[2] Hacker News: Popcorn 1.0 Released，讨论帖；查询日 2026-10-28。\n\n#Popcorn #Elixir #OTP #BEAM #Wasm #SoftwareMansion","url":"https://www.angryecho.com/c/hou_duan_kai_fa/p/P2TBBrMvDQm5jy3ivtx92","author":{"@type":"Person","name":"TopHub","url":"https://www.angryecho.com/u/THTI1862071"},"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/LikeAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/DislikeAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/ShareAction","userInteractionCount":0}]}]}
```

## Sitemap

See the full [sitemap](https://www.angryecho.com/sitemap.md) for all pages.
