长琴 发表于 2022-03-27 21:14
Tags:rust,日报,移动开发,跨平台,bombs,norpl,Brainfuck,num2words,rust_android_ios
Google对25名Rust开源贡献者做出奖励
Rust 是系统级编程语言,重点关注内存安全。Google 在一些项目中使用了 Rust:包括 Android、Fuchsia 和 ICU4X;并一直参与在 Linux 内核中评估 Rust 的工作。Google 也是 Rust 基金会的创始成员。
部分列表(经允许)如下:
Winner | Project |
---|---|
antoyo | For work on rustc_codegen_gcc |
Asherah Connor | For maintaining comrak |
David Hewitt | For maintaining PyO3 |
Dirkjan Ochtman | For maintaining rustls and quinn |
Frank Denis | For maintaining rust-ed25519-compact |
Gary Guo | For maintaining Rust for Linux |
Jack Grigg | For integrating RustCrypto into Fuchsia |
Jack Huey | For highly involved rust compiler work fixing a large number of crashes around higher-kinded types. |
Joe Birr-Pixton | For building rustls |
Joshua Nelson | For improving the developer workflow for contributing to Rust itself |
Lokathor | For creating tinyvec and bytemuck |
Mara Bos | For work on the Rust Libraries Team and the 2021 Rust Edition |
Nikita Popov | For maintaining the Rust compiler’s LLVM backend |
Pietro Albini | For maintaining crucial Rust infrastructure and working on the Rust core team |
Ricky Hosfelt | For maintaining cargo-outdated |
Sébastien Crozet | For creating dimforge |
Simonas Kazlauskas | For maintaining the Rust compiler’s LLVM backend |
找了几次,没在原文中找到到底奖了啥;)不过,Google Open Source Peer Bonus 主页有:一张预付借记卡和一封奖励信 :D
另外,社区成员说 Gary Guo 大佬是中国人~
地址:https://opensource.googleblog.com/2022/03/Rewarding-Rust-contributors-with-Google-Open-Source-Peer-Bonuses.html
Rust移动开发与跨平台模式探究
社区张汉东老师关于 Rust 在移动开发和跨平台模式方面的探究,大纲如下:
- Rust 语言 对 iOS 和 Android 平台支持状态
- Rust 用于移动开发的几种方式
- Android 官方支持 Rust 的方式
- 给 Apple 的一封公开信:请用 Rust 替换 Objective-C
地址:https://zhuanlan.zhihu.com/p/484269271
bombs:单生产者多消费者通信类型
其中 Fuse
是生产者,Bomb
是消费者。
使用指南:
// Create a new fuse and bomb pair.
let (fuse, bomb) = Bomb::new();
// Clone `bomb` into thread.
let bomb_clone = bomb.clone();
thread::spawn(move || {
loop {
// Do some stuff...
if let Some(_) = bomb_clone.exploded() {
// Received close signal, break.
// Clean up data values...
break;
}
}
});
// Create another thread.
// Move original `bomb` into thread.
thread::spawn(move || {
loop {
// Do some other stuff...
if let Some(_) = bomb.exploded() {
// Received close signal, break.
// Clean up data values...
break;
}
}
});
// Do some different stuff...
// Send close signal.
let fire = fuse.light(());
// Wait for all inner threads to close safely (checked by `Bomb` drop).
while !fire.extinguished() { }
// Now safely quit the program.
GitHub:https://gitlab.com/nebneb0703/bombs
用Rust写个语言
使用 Rust 和 LALRPOP 从头开始实现一个 C 风格架构的编程语言。
视频:https://www.youtube.com/watch?v=OynJIFEsf3o
GitHub:https://github.com/eZanmoto/norpl
使用 Rust 实现 Brainfuck 语言。
Brainfuck 是 Urban Müller 于 1993 年创建的一种极简、深奥的编程语言。 该语言以其极简主义著称,仅包含八个简单的命令、一个数据指针和一个指令指针。虽然它是完全图灵完备的,但它并不是为了实际使用,而是为了挑战和娱乐程序员。 ——来自维基百科
Brainfuck 的 Hello World 是这样的:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]
>++.>+.+++++++..+++.>++.<<+++++++++++++++.
>.+++.------.--------.>+.>.
小编内心 OS:谁吃饱了撑的没事干搞这个^_^
地址:https://rtoch.com/posts/brainfuck-interpreter-implementation-part-1/
GitHub:https://github.com/CrazyRoka/brainfuck-interpreter
num2words:数字转文本
一个阿拉伯数字转自然语言的小工具。使用方法:
use num2words::num2words;
assert_eq!(num2words!(42), Ok(String::from("forty-two")));
也可以在命令行使用:
$ num2words 42
forty-two
$ num2words 10 --to EUR
ten euros
GitHub:https://github.com/Ballasi/num2words/
rust_android_ios寻找维护者
项目通过使用共享库来防止代码重复,保持完全原生的 UI 体验和对平台最新 API 的简单访问。它也非常灵活,允许在不同平台之间轻松迁移,包括传统的跨平台框架,如 Flutter 或 React Native。例如,您可以使用 Rust+React Native 或 Rust+Flutter 开发您的 MVP,然后迁移到原生 iOS/Android,而无需重写所有内容。 您甚至可以使用 WebAssembly 或桌面应用程序将您的核心重用于 Web 应用程序(同样,您可以使用本机或跨平台框架,如 Electron)。
如果你有意向,可以在项目上开个 Issue,或给作者发邮件:mailto:ivanhp978@gmail.com
GitHub:https://github.com/ivanschuetz/rust_android_ios
From 日报小组 长琴
社区学习交流平台订阅:
评论区
写评论引线和炸弹? 绷不住了🤣