【Rust日报】Dioxus 用起来有趣吗?

公告《Cargo v1.92 开发周期总结》

  • 插件亮点:cargo-wizard被选为本周期的插件,可优化项目构建时间、运行时性能或二进制大小。

  • 构建性能指南:在Zulip上,Kobzol提出为Cargo book添加构建性能指南。指南在#15970中被引入,旨在帮助开发者优化构建性能。

  • Cargo Script :epage发布了Rust前置语法的稳定化报告,这是稳定化Cargo Script的第一步。Cargo的前置语法解析器也更新以更好地匹配rustc的空白处理(#15975)和错误消息(#15952,#15972)。Cargo Script切换到使用build-dir,并将其Cargo.lock移至build-dir

  • 公共依赖 :sadmac7000在#15966中更改了cargo add的版本自动选择,以评估公共依赖。JohnScience提议cargo tree --edges no-external以仅显示本地包,团队还重新评估了--depth public,最终将其改为--edges public(#16081)。

  • 构建目录布局:Cargo的缓存传统上围绕其功能组织,但这种布局存在一些问题,如难以进行垃圾回收、协调更细粒度的锁、跨项目缓存构建单元工件等。新的布局提议以构建单元为中心组织中间构建工件,而不是文件的角色。新布局在#15947中实现。

  • 其他工作:epage继续将Cargo消息迁移到annotate-snippets(#15942,#15943,#15945)。weihanglo发布了Cargo的结构化持久化日志支持(#16150)。

  • 未取得进展的焦点领域:包括开放命名空间、默认功能禁用、特性元数据等。

  • 如何提供帮助:如果有关于改进Cargo的想法,建议先查看问题列表,然后在内部讨论区探索想法。

阅读:https://blog.rust-lang.org/inside-rust/2025/11/24/this-development-cycle-in-cargo-1.92/

文章《改进 Cargo features 以减少对编译时间的影响》

文章探讨了 Rust 中 Cargo 特性对编译时间的影响,提出了改进方向:

  • Cargo 特性的作用:Rust 包可通过定义特性来包含可选依赖,用户可选择启用或禁用这些特性,以减少不必要的代码编译。

  • 默认特性的问题:默认特性在未明确指定时会被自动启用,且无法单独禁用,只能全部禁用后手动启用其他特性,这可能导致不必要的代码被编译。

  • 传递依赖的特性问题:当前无法直接配置传递依赖的特性,需要通过定义映射特性来间接实现,这在依赖关系复杂时会导致特性数量指数级增长。

  • 改进建议

    • 提供手动禁用单个默认特性的机制(低影响、低难度)。

    • 提供更简洁的方式让库暴露直接依赖的特性(低影响、中等难度)。

    • 允许禁用传递依赖的特性(低影响、中等难度)。

    • 实现"零配置"特性,自动为库中的每个模块或项定义特性(高影响、高难度)。

文章《Dioxus 用起来有趣吗?》

  • Dioxus 介绍:Dioxus 是一个 Rust 框架,目标是实现移动、Web 和桌面应用的单代码库开发,类似于 React Native 或 PhoneGap。

  • 历史回顾:文章回顾了 Web 应用的发展历程,从服务器端渲染 HTML 到客户端渲染,再到如今的全栈渲染(服务端渲染并流式传输给客户端)。

  • Dioxus 的工作方式:通过服务端渲染 HTML 并发送结构化数据,客户端接收后进行"水合"(hydratation),即安装事件处理器并接管文档。

  • 数据加载问题 :Dioxus 提供多种钩子(如 use_futureuse_context 等)来解决异步数据加载问题,但钩子的复杂性较高,容易导致难以调试的行为。

  • 开发体验:作者最初对 Dioxus 的开发体验感到不满,但深入了解后发现许多问题已得到解决或正在修复中。例如,主分支已添加错误显示功能,Chrome 扩展可提供更友好的调试支持。

  • 结论:Dioxus 尚未完全成熟,但其目标和潜力令人兴奋。作者期待 Dioxus 和 WebAssembly 前端生态在开发体验上赶上 JavaScript 解决方案。

阅读:https://fasterthanli.me/articles/does-dioxus-spark-joy

Symbolica 1.0 发布:Rust 中的符号数学运算

今天,Symbolica 1.0 正式发布啦!🎉🎉🎉 Symbolica 是一个适用于 Rust 和 Python 的符号和数值数学库。

同时,从 Symbolica 中提取出来的 Numerica 和 Graphica 库也正式发布,这两个库采用 MIT 许可,共包含 18.5k 行开源代码。

在博客文章中,我展示了这三个 crate 的功能,Rust trait 系统对于编写数学抽象非常有用,Symbolica 如何处理全局状态,以及我们如何解决 Python 的交付问题。

讨论:安全性+数学证明(形式化验证)?

讨论:https://www.reddit.com/r/rust/comments/1p5l70n/safetymathematical_proof/

--

From 日报小组 苦瓜小仔

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss

  • 微信公众号:Rust语言中文社区

相关推荐
小灰灰搞电子36 分钟前
Rust Slint实现颜色选择器源码分享
开发语言·后端·rust
boolean的主人1 小时前
mac电脑安装nginx+php
后端
boolean的主人1 小时前
mac电脑安装运行多个php版本
后端
无限进步_1 小时前
C语言数组元素删除算法详解:从基础实现到性能优化
c语言·开发语言·windows·git·算法·github·visual studio
月殇_木言1 小时前
Python期末复习
开发语言·python
松涛和鸣1 小时前
16、C 语言高级指针与结构体
linux·c语言·开发语言·数据结构·git·算法
oouy2 小时前
Java的三大特性:从懵圈到通透的实战指南
后端
毕设源码余学姐2 小时前
计算机毕设 java 中医药药材分类采购网站 SSM 框架药材交易平台 Java 开发的分类采购与订单管理系统
java·开发语言·课程设计
狂炫冰美式2 小时前
3天,1人,从0到付费产品:AI时代个人开发者的生存指南
前端·人工智能·后端