14 个版本 (8 个破坏性更新)
使用旧的 Rust 2015
0.10.0 | 2022年1月8日 |
---|---|
0.9.1 | 2020年9月30日 |
0.9.0 | 2020年8月26日 |
0.8.1 | 2020年7月9日 |
0.4.0 | 2017年7月30日 |
#69 in macOS 和 iOS API
8,644 每月下载量
在 6 crates 中使用
66KB
722 行代码,不包括注释
fruitbasket - Mac app Framework for Rust
fruitbasket 为您提供两种不同(但相关)的服务,以帮助您在 Mac OS X 上将 Rust 可执行文件作为原生 AppKit/Cocoa 应用程序运行
-
应用程序生命周期和环境 API - fruitbasket 提供了一个 API 来初始化 AppKit 应用程序环境 (NSApplication),以非阻塞方式泵送主应用程序循环和派发 Apple 事件,终止应用程序,访问应用程序包中的资源,以及 Mac 应用程序经常需要的其他任务。
-
自捆绑应用程序 'trampoline' - fruitbasket 提供了一个 'trampoline',在运行时自动将独立二进制文件捆绑为 Mac 应用程序,在
.app
包中。这允许访问需要从捆绑中运行的功能(如 XPC 服务),在应用程序文件夹中自动安装,将您的应用程序注册为系统文档类型或 URL 处理程序,以及其他仅适用于具有唯一标识符的捆绑应用程序的功能。自捆绑和重新启动自身("trampoline" 行为)允许您的应用程序获得应用程序包的功能,但仍然以标准的 Rust 方式(如cargo run
)启动。
fruitbasket 的主要目标是使您能够通过将所有 Apple 和 Objective-C 运行时逻辑推入专用库,隔离 Rust 二进制应用程序的逻辑与不安全的平台代码,以纯 Rust 开发标准 Apple AppKit/Cocoa/Foundation 框架的原生 Mac GUI 应用程序变得相对简单。随着 Rust 在 Mac 上的库生态系统不断发展,您应该能够混合匹配应用程序所需的库,使用 fruitbasket 泵送事件循环,并在您的应用程序中永远不用担心 Objective-C。
有关示例用法,请参阅 examples/
目录。
文档
依赖项
~0.7–1.3MB
~21K SLoC