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

Download history 3092/week @ 2024-03-14 4718/week @ 2024-03-21 4548/week @ 2024-03-28 4657/week @ 2024-04-04 3228/week @ 2024-04-11 3022/week @ 2024-04-18 2896/week @ 2024-04-25 3457/week @ 2024-05-02 2282/week @ 2024-05-09 2028/week @ 2024-05-16 1921/week @ 2024-05-23 2101/week @ 2024-05-30 1385/week @ 2024-06-06 2128/week @ 2024-06-13 2262/week @ 2024-06-20 2539/week @ 2024-06-27

8,644 每月下载量
6 crates 中使用

Apache-2.0

66KB
722 行代码,不包括注释

fruitbasket - Mac app Framework for Rust

Build Status Crates.io Version

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/ 目录。

文档

API文档

依赖项

~0.7–1.3MB
~21K SLoC