briantkelley / apple-rs

Idiomatic Rust bindings for iOS and macOS system libraries and frameworks.
Apache License 2.0
7 stars 0 forks source link

apple-rs

Idiomatic Rust bindings for iOS and macOS system libraries and frameworks.

This repository aims to provide zero-overhead idiomatic bindings to iOS and macOS APIs, including (eventually) Objective-C and Swift interfaces. See the experimental/objective-c-bindings branch for a potential approach for implementing Rust bindings to Objective-C interfaces.

Crates

This repository contains multiple crates to simplify development. The bindings here are implemented "on demand" which may necessarily require changes in multiple crates to implement the full dependency graph.

Idiomatic Rust Bindings:

Raw Rust Bindings:

Experimental Rust Bindings:

Some crates have an experimental feature that disables, by default, functions, modules, traits, types, etc. that are still under active development and subject to change.

Open Issues

Although the major version number of the crates in this repository is 0, the public interfaces are expected to remain stable (i.e. source compatible) as additional functionality is added. Unstable interfaces require use of the experimental feature.

Before crates can be published with a major version of 1, the active issues in the 1.0.0 milestone need to be resolved.