写点什么

ArrowJS 发布 1.0 版,转型为“代理时代”的首个 UI 框架

作者:Daniel Curtis
  • 2026-06-24
    北京
  • 本文字数:1284 字

    阅读完需:约 4 分钟

FormKitAutoAnimate 创始人 Justin Schroeder 创建的轻量级响应式 UI 库 ArrowJS 已经发布 1.0 版本,并被重新定位为“代理时代”的首个 UI 框架。在作为公开实验项目运行约三年后,ArrowJS 1.0 稳定版开源,其代码库已经迁移至 GitHub 上的 standardagents 组织下,最新补丁版本于 2026 年 4 月更新至 v1.0.6。

该框架完全基于开发者和大型语言模型都已经熟知的平台基础组件构建,即 JavaScript 模块、带标签的模板字面量和 DOM。它不使用 JSX,没有编译器,也不需要构建步骤,核心运行时文件大小不到 5KB。其团队声称,该框架的性能基准测试结果与 Vue 3 相当。整个框架仅基于三个函数:reactive、html 和 component。其维护者指出,该框架的全部文档内容仅占 20 万 Token 上下文窗口的不到 5%,这正是其宣称对智能体友好的核心卖点。

1.0 版本的主要新增功能是一个可选的 WASM 沙箱。@arrow-js/sandbox 包在 QuickJS WebAssembly realm 内运行组件逻辑,同时仍然渲染真实的内联 DOM,从而允许应用程序在不使用 iframe 或 eval 的情况下执行不可信的、由代理生成的代码。按照有篇分析文章的说法,这解决了以前无法解决的难题,即如何安全地运行 AI 生成的不可信的界面。围绕核心功能,本次发布还在不同的层上通过 @arrow-js/framework、@arrow-js/ssr 和 @arrow-js/hydrate 提供了用于异步组件、服务器端渲染和客户端水合的包。

Hacker News 上,有位评论者认为, Arrow 实际上是在鼓吹只使用原生 JavaScript,却通过伪装成框架来误导用户;也有人询问它与 RxJS 究竟有何不同。一位 r/webdev 用户称赞了其极简主义,指出它仅包含三个辅助函数,却能用它们构建完整的 Web 应用。而长期用户则更坦率地指出了其不足之处。

GitHub 的一场讨论中,一位已经发布过完整应用的开发者报告了以下问题:在监听器内部修改状态时会出现错误;除非每个项目都带有唯一键,否则映射数据会引发重渲染故障;响应式对象嵌套在其他响应式对象内部时存在一个陷阱。同时,他还提出了对生命周期钩子、事件修饰符和 DOM 引用(DOM refs)的需求。Schroeder 表示同意,他也认为值得添加 DOM 引用和一个基本的 mounted 钩子。

与 React 和 Vue 相比,ArrowJS 以牺牲深厚的组件生态系统和惯用规范为代价,换取了原始的简洁性和与平台的紧密结合,LogRocket 在对这三者的对比分析中探讨了这一权衡。

该团队还提供了一个代理技能,可通过 npx @arrow-js/skill 安装。该技能可以指导编程代理将 Arrow 添加到当前已有的项目中。完整的文档API 参考涵盖了详细的迁移信息以及完整的 API。

ArrowJS 是一个由 FormKit 和 AutoAnimate 的开发者 Justin Schroeder 创建的、体积小巧且无需任何依赖的响应式 UI 库。它完全基于 JavaScript 模块、带标签的模板字面量和 DOM 等 Web 平台基础组件构建,包体大小不足 5KB,无需 JSX、编译器或任何构建步骤,仅提供三个核心函数:reactive、html 和 component。随着 1.0 版本的发布,它现在已经被定位为专为“代理时代”设计的框架。目前,该项目在 GitHub 上拥有 3.5k 个星标。

原文链接:https://www.infoq.com/news/2026/06/arrowjs-v1-agentic/