Google对25名Rust开源贡献者做出奖励

Rust 是系统级编程语言,重点关注内存安全。Google 在一些项目中使用了 Rust:包括 Android、Fuchsia 和 ICU4X;并一直参与在 Linux 内核中评估 Rust 的工作。Google 也是 Rust 基金会的创始成员。

部分列表(经允许)如下:

地址: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

【Rust 日报】2022-03-27 Google对25名Rust开源贡献者做出奖励-LMLPHP

地址: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 的 Hello World 是这样的:

++++++++++[>+++++++>++++++++++>+++>+<<<<-]
>++.>+.+++++++..+++.>++.<<+++++++++++++++.
>.+++.------.--------.>+.>.

地址: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 日报小组 长琴

社区学习交流平台订阅:

  • Rustcc 论坛:支持 rss

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

03-28 10:11