15 个版本
0.3.5 | 2023 年 9 月 7 日 |
---|---|
0.3.1 | 2023 年 6 月 4 日 |
0.2.4 | 2023 年 1 月 28 日 |
0.2.2 | 2022 年 12 月 4 日 |
0.2.0 | 2022 年 7 月 25 日 |
在 GUI 中排名第 888
每月 46 次下载
1.5MB
4K SLoC
🎨 acrylic
超便携、受网页启发的 UI 工具包,具有 SIMD 图形。
工作正在进行中!
此外,如果您已启用 SIMD 支持(默认情况下是启用),则需要 nightly 工具链。
🪂 功能
- 对网页开发者来说感觉熟悉
- 支持模板化
- 集成的 JSON 状态存储
- 抗锯齿
- 输入 API 旨在提高可访问性
- 纯 Rust 和安全
- 完全
no_std
🏗️ 进度(核心包)
- ☑ XML 解析
- ☑ 类 flexbox 布局
- ☑ PNG 图片
- ☐ Railway 图片 [进行中]
- ☑ 全部
no_std
支持 - ☑ 文本节点
- ☑ 状态存储
- ☑ 圆形容器
- ☑ 输入事件
- ☑ 事件处理程序
- ☑ SIMD 加速
- ☑ 文本编辑
- ☑ 模板化
- ☐ 纹理缓存
- ☐ 非硬编码状态文件
- ☐ 滚动 [进行中]
- ☐ 富文本
- ☐ 外部链接
- ☐ 视频播放
- ☐ 音频播放
🧱 支持的平台
平台 | 链接 | 渲染 | 资产加载 | 事件处理 |
---|---|---|---|---|
web | acrylic-web | ☑ | ☑ | 进行中 |
wayland | acrylic-wayland | ☑ | ☑ | 进行中 |
x11 | ||||
gdi | ||||
fbdev | ||||
drmkms |
⚡️ 快速入门
项目结构
.
├── Cargo.toml
├── assets
│ ├── rustacean-flat-happy.png
│ └── default.xml
└── src
└── app.rs
一个资产:rustacean-flat-happy.png
您可以从 这里 获取它。将其放置在 assets/
中。
视图布局:default.xml
<h-rem style="default">
<inflate />
<v-fixed length="400" gap="10">
<inflate />
<png file="rustacean-flat-happy.png" />
<h-fixed length="40" gap="10">
<inflate />
<label text="Rust rocks!" />
<inflate />
</h-fixed>
<inflate />
</v-fixed>
<inflate />
</h-rem>
代码:app.rs
use platform::{app, acrylic::{core::app::SimpleCallbackMap, ArcStr}};
fn layout_selector() -> ArcStr {
"default.xml".into()
}
app!("./assets/", layout_selector, SimpleCallbackMap::new(), "default.json");
清单:Cargo.toml
[package]
name = "my-app"
version = "0.1.0"
edition = "2021"
[lib]
crate-type = [ "cdylib" ]
path = "src/app.rs"
[dependencies]
# building for the web
platform = { package = "acrylic-web", version = "0.3" }
构建
cargo +nightly build --release --target wasm32-unknown-unknown
注意:这使用 nightly,因为 Rust 中的 SIMD 目前是不稳定的。
安装一个 web 服务器
httpserv
非常小,对于这个演示来说足够好了。
cargo install httpserv
下载启动您的应用的 HTML 文件
您可以从 这里 获取它。将其放置在项目的根目录中,与 cargo 清单相邻。
启动 web 服务器
从您的项目根目录
# normal start:
httpserv
# quiet + in the background
httpserv > /dev/null &
然后打开 https://127.0.0.1:8080/#release
预期结果
☕ 联系方式 & 贡献
联系方式
您可以通过电子邮件或Discord联系我:bitsneak#1889
。
您可以用这些来询问关于这个项目的任何问题。
贡献
我们乐意通过Github Pull Requests接受所有贡献。
👉 相关链接
🕯️ 许可证
- 代码使用MIT许可证
- 嵌入式Noto字体使用SIL Open Font License许可证
依赖项
~11–20MB
~299K SLoC