【Rust日报】Leptos 发布 v0.7.0

科技   2024-12-08 23:54   日本  

Leptos 发布 v0.7.0

Leptos 发布 v0.7.0 重大更新:

  1. 框架内部进行了重写,目标是保持向后兼容性、改善异步处理、减小 WASM 和 HTML 大小、加快渲染速度、增强跨线程通信等。

  2. 新增了对 .await 资源和在中使用 async 的支持,简化了资源加载的处理方式。

  3. 引入了引用计数的信号类型 (ArcRwSignal 等),避免内存泄漏,同时提供 .read() 和 .write() 方法来获取信号值的可变/不可变引用。

  4. 支持自定义 HTML 外壳,提高了定制能力。

  5. 提供了 Axum 和 Actix 的启动模板,方便新手上手。

  6. 为未来工作做好了基础,如反应式存储、客户端路由和原生 UI 工具集成等。

总的来说,这是一个重大升级,提升了框架的性能、异步处理能力、内存管理和定制能力。

https://github.com/leptos-rs/leptos/releases/tag/v0.7.0

ArrayObject - 一种自描述的用于存储数组的二进制格式

ArrayObject 这个 Rust crate 提供了一种自描述的二进制格式,用于存储整数、实数、复数和字符串数组,主要设计目标是用于对象存储、数据库和单文件存储。ArrayObject具有以下主要特点:

  1. 数据是自描述的,可以自动解压至相应的类型变量。
  2. 没有嵌套结构、元组或数据集名称,始终是一个简单的统一数据类型的数组。
  3. 使用通用整数和浮点类型来吸收不同类型大小的差异。
  4. 自动使用变长整数/浮点数编码和字典编码来压缩字符串,从而将数据存储为最小大小。
  5. 支持与Vec<_>、[T; N]、ndarray和nalgebra的相互转换。

该crate目前正在开发中,格式规范可能会有所变化。它提供了Rust代码示例,展示了如何将数据转换为二进制格式、存储和恢复。数据格式根据不同的数据类型自动选择最小的存储方式,如整数使用Zig-zag编码、浮点数使用定长或变长编码等。

ArrayObject适合于存储多维数组数据、对象存储等, 它与原始二进制文件的主要区别在于提供了类型检查和根据类型进行压缩的功能。未来的计划包括在其他编程语言中实现、支持半精度浮点数和其他特性。

https://github.com/YShoji-HEP/ArrayObject

--

From 日报小组 Mike

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss
  • 微信公众号:Rust语言中文社区


Rust语言中文社区
Rust官方及社区最新信息搜集、文章推送,教程学习,技巧分享,社区交流。信息来源是整个全球Rust社区。
 最新文章