Hologram 工作。Elixir 在浏览器中运行

Hacker News Top 工具

摘要

Hologram 是一个在浏览器中运行的 Elixir 框架,2025 年发布了四个功能更新,将 Elixir 的大部分标准库移植到了客户端,增加了 JavaScript 互操作、实时层以及更紧密的本地优先同步能力,并获得了社区的强力支持。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/07/22 17:24

# Hologram 在运作。资助接下来的一切。 来源:https://hologram.page/blog/backing-hologram Hologram 在持续运作。Elixir 如今在浏览器中运行——今年发布了四个特性版本,大部分标准库可在客户端工作,拥有完整的实时层、JavaScript 互操作,以及首批投入生产环境的应用。 Hologram 新手?我在 ElixirConf EU 2025 的演讲(https://youtu.be/TVs2_TzHC3E)介绍了它是什么以及它为何存在。 接下来的一切都比这更宏大。 **本地优先(Local-first)**:应用离线时继续工作,连接恢复后自动同步,这一切内置于框架之中,而非用手动拼凑三个库和大量运气的方式组装。没有任何语言生态中的全栈框架原生提供此功能。Hologram 已足够接近,有望成为第一个。 这一切能否实现,取决于接下来的几个月,以及是否有企业愿意付诸实际行动。我宁愿现在直说,也不愿它日后变成一个悄然停滞的项目。 以下是当前的情况,以及你或你的公司可以如何提供帮助。 ## 赞助带来了什么 八个月前,我写道我正处在十字路口,每周在合同工作和框架开发之间投入 60 多个小时。社区给予了回应。Curiosum 成为主要赞助商,Erlang 生态系统基金会资助了一系列开发里程碑,个人赞助者也在 GitHub 上加入。 由此产生了四个公共特性版本:v0.7 到 v0.10——而 v0.11 现在也已发布。 v0.7 #### Elixir 标准库在浏览器中运行 Elixir 的标准库底层调用 Erlang 函数,因此在客户端运行意味着要移植这些函数。一项社区倡议将客户端的标准库覆盖率从一小部分提升到几乎全部——**49 位贡献者移植了 150 个 Erlang 函数**,其中大多数人首次为 BEAM 项目做出贡献。该版本最终登上 **Hacker News 首页并获得了 107 个赞**。 v0.8 #### JavaScript 互操作 导入 npm 包、调用 Web API、使用 Web 组件,并将 JavaScript Promise 作为 Elixir Task 来 await。随附发布了 VS Code 扩展。 v0.9 #### Hologram 实时 这个版本远超最初的预期。最初只是服务器触发的操作,后来演变为完整的实时层——发布/订阅扇出,类似于 Phoenix Channels,但为 Hologram 全新构建,并从头到尾为开发者体验量身定制。 v0.10 #### 事件与中间件 大幅扩展的客户端事件系统和服务器端中间件层,以及客户端错误处理——在浏览器中支持完整的 try/rescue/catch/after/else,以及推导(comprehension)的完全支持。 v0.11 #### 正则表达式与客户端错误堆栈跟踪——现在发布 基于 Elixir 的 PCRE 正则表达式为 Hologram 的客户端运行时编译,支持 `=~` 及其他 Regex 函数,同时提供客户端错误信息和堆栈跟踪,与服务器端一致,便于调试。 除了版本本身之外:还提供了**一流的 AI 助手支持**——llms.txt、usage_rules 兼容性以及按项目划分的代理文档,让 Claude Code 和 Cursor 等工具编写地道的 Hologram 代码,而非退回到 LiveView 模式。 相关数据也随之增长: ⭐ 1,400+ GitHub Stars,自 11 月资助活动以来增长超过 40% 📦 3× Hex 下载量,自 11 月资助活动以来仍在加速增长 📬 350+ 每月通讯订阅者 👥 49 移植倡议中的贡献者 * **生态系统:** 其他开发者已经开始在 Hologram 之上构建工具,从 DevTools 和 IDE 支持到专为其构建的测试框架。 * **覆盖:** 18 个月内发布了九期 Thinking Elixir 播客,本周还有一期讨论 BEAM There Done That 的节目,嘉宾包括 Francesco Cesarini 和 Allen Wyma,此外 Elixir Radar、Elixir Weekly 和 Awesome Elixir 也在跟进每次发布。 **那么,发生了什么变化?** 一月份我写道 Hologram 已找到可持续的资金来源。当时我没有详细说明各部分如何配合:Erlang 生态系统基金会的支持是以**四个开发里程碑**的约定计划形式提供的,每个都是明确的交付物,而非开放式的安排。目前已完成三个,第四个即将完成,其最后一部分将在 v0.11 中发布。该计划完全实现了其设计目标,现已接近尾声。 这并不是说基金会要退出。我们正在合作开展第二轮计划,而企业通过 EEF 为 Hologram 预留的支持资金将使其成为可能——更多内容见下文。 Curiosum 继续作为主要赞助商,个人赞助者依然还在。没有任何环节出问题。变化在于,前方的路线图比之前的都更加雄心勃勃,而第一轮里程碑资金恰好覆盖了其设计所要覆盖的那段路程。 ## 谁在背后 👑 José Valim Elixir 创始人 📰 elixir-lang.org José Valim & Wojtek Mach 🧡 Zach Daniel Ash Framework 创始人 Oban (https://oban.pro/) Oban Elixir 后台任务 Moss Piglet (https://mosspiglet.dev/) Moss Piglet 隐私优先软件 首批生产应用已经交付,使用 Hologram 的人们的反馈已经说明了一切: > “这真是一份了不起的工作。” > “我本周将我的第一个 Hologram 应用投入了生产......开发体验完全符合描述。” > “Hologram 潜力巨大。它是 Elixir 界的‘NextJS’,希望这次能做好。” > “使用 Hologram 是一种乐趣——除非我真的需要 LiveView 的某些特定功能,否则我默认会使用 Hologram。” ## Hologram 接下来走向何方 ### 本地优先 Hologram 有望成为所有生态系统中第一个内置本地优先功能的全栈框架。应用在默认情况下离线工作:无连接时继续运行,将你选择的数据保存在客户端,连接恢复时自动同步——这一切由声明式的自动同步数据层驱动,而非手动拼凑的管道。 没有哪个框架原生提供这个功能。Rails 没有,Next.js 没有,Phoenix 也没有。通常这意味着拼凑一个同步引擎、一个客户端存储和一个冲突解决策略,然后永远维护这三个部分。Hologram 已经在浏览器中运行 Elixir,因此最困难的基础部分已经完成。 我在 ElixirConf EU 2026 上就此发表了演讲,这也是我即将在 ElixirConf US 和 Goatmire 演讲中的主线: ### 一套代码库,而非两套 通常的全栈应用是:一个后端用一种语言,一个 TypeScript 前端,以及一个双方都必须遵守的契约。每个特性都会触及所有这三个部分,涉及两种语言,而且躺在无人完全审计的 npm 依赖树之上。LiveView 让 Elixir 团队避开了大部分这类麻烦——直到应用需要真正的客户端逻辑,此时 JavaScript 钩子和 npm 工具就又悄然回归边缘。 Hologram 弥合了这一差距。一种语言,一套代码库,无需维护 JavaScript 栈。 但这并不意味着放弃 JavaScript 生态系统。当某个库值得使用时——比如图表、地图、支付小部件——Hologram 的 JavaScript 互操作可以导入对应的 npm 包,然后你用 Elixir 调用它,Web API 和 Web 组件也同样支持。JavaScript 变成了一种你只在它值得投入时才使用的工具,而不是你的团队需要维护的第二套技术栈。 这些节省的大部分收益体现在代码之外。一个特性不再需要一个后端开发者、一个前端开发者以及一次会议来达成关于它们之间 JSON 格式的共识——一个人就可以端到端地完成。无需设计、版本化和保持同步的 API 契约,也再不存在因两端不同步而产生的 bug 类别。一个工具链,一个 CI 流水线,一个需要审计的依赖树。新成员入门只需学习一套技术栈,而非两套。 关于招聘,重点不在于 Elixir 开发者容易找到。而在于你现有的团队可以独立负责整个特性,而无需你的团队规模取决于你还能负担多少前端专家。 这在 2026 年比在 2019 年更重要,因为现在阅读代码的是谁。一个跨技术栈工作的 AI 代理必须同时将后端、前端和两者间的契约纳入上下文中,但它会在衔接处出错。单一一套 Elixir 代码库足够小,代理可以端到端地进行推理,出错的地方要少得多。 这不是理论——这已经是人们用它构建的方式: > “写 Hologram 代码简单得令人失望。我让 Codex 移植我们的支付终端模拟器,它完成得太快了,我不得不检查它是否真的完成了。” ### 为现有团队减少工作量 Hologram 今天已经投入生产。路线图的其余部分旨在为后来者缩短这条路径:开箱即用的认证和表单(而非手写),内置安全加固,合适的测试工具包,可读的客户端堆栈跟踪,以及只需两个终端命令即可安装的独立模式——可以像现在一样在你的 Phoenix 应用内运行 Hologram,或者在你不需要其他部分时独立运行。 这些都不是发布的前提条件——团队现在已经在发布了。区别在于,一个只是你可以在其上构建的框架,而另一个是帮你完成重复性工作的框架——这与 Phoenix 在其早期走过的距离是一样的。 ### 这将导向何处 离线支持仅仅是本地优先的起点。一个数据层已经能在无连接时工作并在连接恢复时同步的应用,已经接近成为一个移动应用,也接近成为一个桌面应用。 🌐 #### 网络——今天 Elixir 今天已经在浏览器中运行,本地优先数据层正在构建中,使其支持离线。 📱 #### 移动端 同一套代码库,在移动端。 🖥️ #### 桌面端 以及在桌面端。 这就是路线图所指的方向:**一套 Elixir 代码库,在 Web、移动端和桌面端上运行,默认支持离线,并在所有这些平台上同步同步。** 企业今天需要为单独的团队和单独的技术栈来为此付费。我不会给出具体日期——但这个顺序是有意为之:基础已经建成,本地优先层正在其之上构建,也正是这一点让它不仅仅是编写前端的一种更好方式。 ## 对于企业 Curiosum 作为主要赞助商支持 Hologram,正是这种支持使得全职投入框架开发成为可能。他们很早就加入了,那时我在这里描述的大部分内容还不存在。以下是他们的 CTO,Michał Buszkiewicz,谈及原因: > “支持 Hologram 是在众多使用 Elixir 桥接客户端和服务器端代码的开源项目中有意识的选择。如果执行得当,它的雄心壮志使其不仅成为 Phoenix 的替代者,也成为流行的 JS 同构、离线能力开发解决方案(如 SvelteKit 或 Next.js)的替代者。” “许多面向广泛用户的应用最终至少会短暂离线——尤其是协作工具、聊天应用以及任何移动应用。Phoenix LiveView 很棒且久经考验,但这并非其擅长的领域,即使你可以通过 LiveSvelte、Inertia.js 或自定义 JS 绕过其服务器端状态管理。通过内置离线及本地优先功能,Hologram 完美契合了这一细分领域:实时、响应式、支持离线的 UI,几乎零 JS。” 前方的路线图——本地优先、电池包含式工作、工具链故事——比之前的一切都更加宏大,并且有空间容纳更多企业加入其中。 明确规模是值得的。在一个代码库中,Hologram 同时相当于几个主要框架:一个将 Elixir 编译为 JavaScript 的编译器、一个客户端运行时、一个组件和模板系统、一个实时层,以及现在的本地优先数据层。其中每一个通常都是一个团队多年的项目。而这仅由一个人构建,同时社区在旁边移植标准库——赞助正是确保这项工作能全职进行的关键。 范围 编译器 + 客户端运行时 + 模板系统 + 实时 + 本地优先 ### 赞助能为你带来什么 🏷️ Logo 展示 你的 Logo 将出现在 Hologram 首页、文档和 README 中 📣 发布公告 在每次发布公告中予以认可——在 LinkedIn、X、Reddit、Bluesky、Elixir Forum、Discord 和社区通讯中可获得约 30,000 次首日展示 📬 每月通讯 每期通讯中都有展示,被 350+ 专门关注 Hologram 的订阅者阅读 🎤 会议曝光 在我的会议演讲中提及——今年包括 ElixirConf US 和 Goatmire Elixir 近期峰值,均来自单篇帖子: LinkedIn 20.4K LinkedIn 展示次数及 243 次互动,针对启动 Erlang 移植倡议的帖子 Reddit 17K Reddit 浏览量和 178 个赞,针对资助公告帖子,属 r/elixir 最高分帖子之一 X 13.6K X 展示次数和 192 次点赞,针对移植倡议公告 Hacker News 107 Hacker News 首页赞数和 29 条评论,针对 v0.7 发布帖 **企业赞助者还可以对下一步构建什么拥有发言权。** 如果你的团队需要优先考虑认证或电池包含式表单层,我们可以就此进行讨论,并将其在路线图上提前。测试工具包、独立模式或列表中的任何其他内容也是如此。 你不是在向一个普通基金捐款,然后希望你的优先事项最终被排到。完整的路线图(https://hologram.page/docs/roadmap)是公开的——如果你需要的东西甚至不在上面,告诉我。那场对话也是开放的。 ### 两种方式 两种方式均享有上述全部赞助者权益——而 EEF 方式还会额外获得基金会自身的认可。 最高杠杆 ### Erlang 生态系统基金会 让你的资金发挥最大作用的方式 EEF 在过去一年中通过一项包含四个开发里程碑的约定计划支持了 Hologram——三个已交付,第四个正在收尾。第二轮计划正在商讨中,而**通过基金会为 Hologram 预留的企业支持资金正是开启它的关键。** 这使得在此贡献的价值超过了其面值:它资助了工作,也使得基金会能够在你一旁继续支持该项目。 许多财务部门也倾向于这种方式: ✓ 资金进入一个成熟的基金会 ✓ 可开具发票 ✓ 你的公司将同时获得 EEF 和 Hologram 的认可 具体细节由基金会设定,因此如果这种方式适合你的组织,请与我联系,我会为你搭建桥梁。 ### GitHub Sponsors 简单直接 $250/月 首页和 README 上的 Logo $500/月 文档、首页和 README 中的突出展示 几分钟即可设置完毕: 有别的偏好?一次性捐款、资助特定工作、咨询、技术支持、团队培训。告诉我你的公司实际如何花钱,我们会找到合适的方案。 我们聊聊 发送邮件至 [**[email protected]**](mailto:[email protected]),或者如果更方便,可以在 LinkedIn (https://www.linkedin.com/in/bartblast/) 上找到我。每封邮件我都会回复。 ## 对于其他人 个人赞助者从一开始就是这项工作的基石,其中一些人在任何公司加入之前就已经存在了很长时间。如果 Hologram 对你有用,GitHub Sponsors (https://github.com/sponsors/bartblast) 提供了每月 14 美元和 29 美元的档次——自定义金额也可以,只要合适就行。 让我直接告诉你这对我意味着什么。我不是要更多的钱来做更多的工作。目前所拥有的不足以维持可持续的生计,而且它也从未打算依赖单一赞助者。Hologram 需要几家公司支持,才能使全职工作变得有意义。我宁愿直说,也不愿悄然放慢脚步,然后让你疑惑发生了什么。 所以,如果赞助对你来说不可行,你仍然可以

相似文章

Holo3.1:快速本地计算机使用智能体

Hugging Face Blog

Holo3.1 是一个更新的计算机使用模型系列,提升了在网页、桌面和移动环境中的鲁棒性,引入了用于本地执行的量化检查点,并增加了对函数调用协议的原生支持。

OpenHeronBrowser —— 用 Rust 编写、借助 Claude 构建的全新浏览器引擎,Acid3 得分 97/100,可运行 Discord、VS Code for the Web 以及 v86 中的 Windows 1.01

Reddit r/artificial

OpenHeronBrowser 是一个全新的独立 Web 浏览器引擎,完全从零用 Rust 编写(约 8.5 万行代码),在 Claude 的协助下构建,Acid3 得分为 97/100,并能通过 v86 运行 Discord、VS Code for the Web 和 Windows 1.01 等真实站点与系统。该引擎已作为 Apache 2.0 许可的桌面演示版发布,支持 Windows、macOS 和 Linux。