Miro: 用 Rust 开发的轻量级 PDF 阅读器
作者对主流 PDF 阅读器(如 Adobe Acrobat、Foxit、浏览器内置阅读器)感到不满,认为它们要么太臃肿、不方便灵活定制,要么功能不足。 Linux 上的 Zathura(配合 MuPDF 后端)是他理想中的阅读器:轻量、键盘驱动、支持热重载、可自定义快捷键、支持 PDF 深色模式等。
于是作者决定开发自己的 PDF 阅读器 —— Miro,目标是实现 Zathura 的核心体验,并进一步改进,使其跨平台、更易用。
核心功能亮点
- 跨平台支持:可在 Windows 和 Linux 等现代系统上运行
- 键盘优先:提供 Vim 风格的、可完全自定义的快捷键,同时保留鼠标操作
- 热更新:自动检测 PDF 文件变更并刷新
- RPC:可与诸如 NeoVim 等编辑器联动,实现自动打开 PDF、切换深色模式、跳转页面(未来支持)等
- 深色模式:界面和 PDF 内容都可以以深色模式显示
- 简洁配置:通过 config 文件设置快捷键和选项,无硬编码
技术实现
- PDF 渲染:基于 MuPDF 库,利用其 DisplayList 特性实现高性能、清晰缩放(避免 Zathura 的模糊-重绘问题)
- 用户界面:选用 Iced GUI 框架,在简洁性与功能性之间取得平衡。界面包含侧边栏(书签、文档大纲)和主阅读区
- 性能优化:使用 MuPDF 内置缓存机制,代码更简洁、性能更好。仅在处理含数千 SVG 元素的复杂页面时仍有卡顿
Github: https://github.com/vincent-uden/miro
Aralez: 用 Rust 和 Pingora 开发的高性能反向代理
Aralez 是用 Rust 和 Cloudflare 的 Pingora 引擎开发的一款高性能反向代理工具。
特性
- 配置重加载:上游用 API 修改配置后,可以自动重新加载,无需重启
- 内置 OpenSSL 支持,无需重启的自动加载证书
- 内置限流机制,支持全局限流、以及按照路径设置限流
- 认证:支持简单认证、API Key 以及 JWT
- 负载均衡策略:轮询、带健康检查的故障转移、基于 Cookie 的会话保持
- 支持在同一连接上同时处理 HTTP 和 WebSocket 流量
- 轻量级静态文件服务,可通过配置为上游服务对外公开访问
- 高性能:基于 Pingora 和 Tokio 构建,采用异步 I/O 模型,实现高并发与低延迟
Github: https://github.com/sadoyan/aralez
docs.rs 变更默认构建目标
文章宣布 docs.rs 对其默认构建目标进行了两项重要更新,以更好地反映当前 Rust 生态系统的硬件和平台趋势。
主要变更
- Apple 平台:默认目标从
x86_64-apple-darwin
(Intel Mac)改为aarch64-apple-darwin
(Apple Silicon / ARM64) - Linux 平台:移除 32 位 x86 目标
i686-unknown-linux-gnu
,新增aarch64-unknown-linux-gnu
(Linux ARM64)。
新的默认目标列表:
x86_64-unknown-linux-gnu
aarch64-apple-darwin
(替代原x86_64-apple-darwin
)x86_64-pc-windows-msvc
aarch64-unknown-linux-gnu
(替代原i686-unknown-linux-gnu
)i686-pc-windows-msvc
原文:https://blog.rust-lang.org/2025/10/16/docsrs-changed-default-targets/
--
From 日报小组 Yuan YQ
社区学习交流平台订阅:
评论区
写评论还没有评论