Rust 正被用于构建 Linux 内核和 Android 操作系统,也被 AWS 用于关键基础设施,以及用于 ChromeOS 和Firefox。尽管 Rust 很有前景,但它在 GUI 原生开发领域还有所欠缺。在 2019 年,GUI 是阻碍采用 Rust 的第六大原因。这其实与语言本身的设计有关,Rust 使得构建 UI 的常见方法进行建模很困难。
在Warp,我们一直在用 Rust 构建一个自定义的UI框架,用来在 GPU 上渲染。构建这个框架是非常棘手的,也是一项巨大的投资,但它在构建一个拥有丰富 UI 元素的终端时发挥了很好的作用,其速度不亚于地球上的任何其他终端。如果我们使用 Electron 或 Flutter 这样的非原生方式来运行,这种水平的性能几乎是不可能的。
在这篇文章中,我将讨论为什么Rust独特的内存管理模型和缺乏继承性使得传统的技术难以建立一个 UI 框架,以及我们一直在解决这个问题的一些方法。我相信这些方法中的一种,或者它们的某种组合,最终将构成一个稳定的跨平台 UI 工具包,用于高性能 UI 渲染,最终给每个人使用。
ReadMore: https://www.warp.dev/blog/why-is-building-a-ui-in-rust-so-hard
2018年4月1日,Cloudflare 宣布推出 1.1.1.1 公共DNS解析器。多年来,我们在平台上添加了用于故障排除的调试页面、全局缓存清除、Cloudflare上区域的0 TTL模式、上游TLS和家庭用的的1.1.1.1。在这篇文章中,我们想分享一些幕后的细节和变化。
当项目开始时,Knot Resolver
被选为DNS解析器。我们开始在它的基础上构建一个完整的系统,以便它能适合Cloudflare的使用情况。拥有一个经过实战检验的DNS递归解析器,以及一个DNSSEC验证器,真是太棒了,因为我们可以把精力放在其他地方,而不是担心DNS协议的实现。Knot Resolver
在其基于 Lua 的插件系统方面相当灵活。它允许我们快速扩展核心功能,以支持各种产品特性,如 DoH/DoT、日志、基于 BPF 的攻击缓解、缓存共享和迭代逻辑覆盖。但是随着流量的增长,我们遇到了某些限制难以突破。终于,我们下定决心重新实现一套 DNS 解析器,基于 Rust 和 WASM 来实现。
ReadMore: https://blog.cloudflare.com/big-pineapple-intro/
From 日报小组 Koalr
社区学习交流平台订阅:
Rustcc论坛: 支持rss
微信公众号:Rust语言中文社区
上一篇:Java——岛屿数量