【Rust日报】2020-04-13 Ruma|Flutter RS|Valora|Rust SSH|mathbench|
1 - Ruma死掉了, Ruma万岁! 于2020年4月10日
Ruma is dead, long live Ruma! April 10, 2020 作者:Jonas Platte
Ruma是一组由Matrix homeserver服务器,客户端和支持库组成的由Rust语言开发的软件组。Matrix是一个开放的在线通讯协议。关于这个项目的基本情况可以访问 项目主页。今天有点伤感的宣布:
- Ruma,也就是项目的homeserver服务器端,不再继续开发了。
- Ruma项目未来将继续开发支持库包,确保这些库还能继续支持Ruma服务器及各种应用。
- 如果你还对现在的Ruma homeserver开发感兴趣,可以考虑看看Conduit 这是用了Ruma支持库写的不一样的Ruma Homeserver实现。
2 - Valora: 一个能打印的命令行电脑生成艺术图形库。
https://paytonturnage.gitbook.io/valora/ https://github.com/turnage/valora
Valora是一个能作画的画笔,写的可视化构建可以:
- 通过rng种子管理可以做到不断重复
- 不通过改变大小就可以任意产生任意精度的像素。
- 严格的类型安全的颜色语法,确保打印的时候不会有色差
- 适应各种不同的硬件
- 用Rust语言开发,几乎不会出错!
大家可以试试下面的教程:
cargo new art --bin && cd art
cargo install cargo-edit && cargo add valora
然后在main.rs
里面加入下面的代码:
use valora::prelude::*;
fn main() -> Result<()> {
run_fn(Options::from_args(), |_gpu, world, _rng| {
Ok(move |ctx: Context, canvas: &mut Canvas| {
canvas.set_color(LinSrgb::new(1., 1., 1.));
canvas.paint(Filled(ctx.world));
let max_radius = world.width / 3.;
let radius = ctx.time.as_secs_f32().cos().abs() * max_radius;
canvas.set_color(LinSrgb::new(1., 0., 0.));
canvas.paint(Filled(Ellipse::circle(world.center(), radius)));
})
})
}
运行就可以看到计算机创作的精美图案了:
cargo run --release
大家试一试!第一次编译的时候需要的时间稍微长点,当valora开始运行的时候, 你就可以看到一个不断变化大小的红圈!
3 - Flutter RS
- 开发桌面版Flutter App
(用Rust
做后端) 已经发布在stable branch
上了。
https://github.com/flutter-rs/flutter-rs
用rust和Flutter开发桌面版应用。
需要安装的软件:
开发步骤:
- 安装cargo flutter命令
cargo install cargo-flutter
- 从模版创建新项目
git clone https://github.com/flutter-rs/flutter-app-template
- 采用cli hot-reloading开发:
cd flutter-app-template cargo flutter run
发布:
最后要发布应用程序,只需运行:cargo flutter --format appimage build --release
4 - Rust
语言里通过OpenSSH
的Wrapping
脚本化实现SSH
调用
https://github.com/jonhoo/openssh-rs/
5 - 游戏开发中常用mathbench
测量编译时间
https://bitshifter.github.io/2020/04/12/mathbench-build-timings/
From 日报小组 BobQ
独立日报订阅地址:
社区学习交流平台订阅:
评论区
写评论还没有评论