AstroBox 中文文档 下载 App

API Level 4 新特性——Python/JS/HTTP 服务器/应用内浏览器

Level 4 是什么

API Level 4 不是加了几个新接口,而是运行时层面的彻底升级。变化量相当于把 Level 2/3 推翻重写,同时保持向后兼容。

变化清单:

维度旧版(Level 2/3)新版(Level 4)
运行时旧版 wasmtime新版 wasmtime
WASI 版本旧版 WASIWASI Preview 3
宿主接口部分同步部分 future全部改成 async func
HTTP 能力无内置 HTTP 服务器
浏览器能力无内置应用内浏览器
官方语言RustRust + Python + JavaScript

运行时升级

换用新版 wasmtime 后:

组件模型

WASI Preview 3 引入了组件模型——这是 WebAssembly 生态的一次重大升级:

对 AstroBox 插件的意义:未来可以把复杂插件拆成多个小组件,分别开发、分别加载、灵活组合。

宿主接口改成 async func

旧版 Host API 混了同步和 future 接口,写起来有大量样板代码:

// 旧版
let result = host.do_something().await.unwrap();
// 如果是同步接口,直接调用

Level 4 统一改成 async func,消除了这个差异:

// 新版——不管宿主接口内部是同步还是异步,调用方统一用 .await
let result = host.do_something().await;

新增 HTTP 服务器

这是 Level 4 最令人兴奋的新能力。插件现在可以在 AstroBox 进程内启动一个 HTTP 服务器。

能做什么

为什么重要

之前插件想提供 UI,要么和 AstroBox 的 UI 系统集成(受限于 AstroBox 的 UI 框架),要么用原生窗口(跨平台麻烦)。Level 4 直接内置 HTTP 服务器,插件可以:

新增应用内浏览器

配合 HTTP 服务器,Level 4 还内置了应用内浏览器组件。插件可以:

能做什么

Python 与 JavaScript 成为官方语言

Python 支持

AstroBox Level 4 正式把 Python 作为官方支持语言。这意味着:

适合场景:数据处理、简单的资源源插件、脚本类工具。

JavaScript 支持

同样,JavaScript 也成为官方支持语言:

语言选择建议

场景推荐语言
高性能 / 底层能力Rust
快速原型 / 数据处理Python
需要 Web UIJavaScript
复杂系统 / 长期维护Rust

Level 2/3 插件不受影响

旧版 API Level 2/3 的插件不会被移除,继续跑在旧版 wasmtime 上。AstroBox 会根据插件声明的 API Level 自动选择对应的运行时。

如果开发者想享受新特性,可以把插件升级到 Level 4,但这不是强制的。