objc2
rust-objc
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
objc2
- Help with implementing ObjC functions in Tauri
-
Library Concept for Interoperating with Objective-C - Seeking Feedback
But I will reiterate what I say on many posts like these, which is that it would be even cooler if we could stop having a million projects reinvent this wheel - and I say this as someone who wrote a large Rust library that is backed by ObjC. madsmtm has an ongoing effort to put together a best in class ObjC Rust wrapper, which would be great to see even more support for.
-
Calling Apple built-in (Swift) APIs from Rust
As far as I know, https://github.com/madsmtm/objc2 is the most active fork.
rust-objc
- macOS Apps in Rust
-
Where do I start for creating a windowed app in pure rust?
If you find dealing with the Obj-C bindings a bit daunting (I would), I'd recommend you use the objc crate. That will like you dive into the details of creating and updating Mac windows without having to figure out how to call Objective C from Rust.
-
Calling Apple built-in (Swift) APIs from Rust
There is https://github.com/SSheldon/rust-objc which is abandoned.
-
How to capture the contents of applications' windows and display them in real-time
On macOS, per-window capture is actually exceedingly easy and officially supported by Apple, either including window shadows or not. I'm not aware of any crate for doing it cross-platform, but the way to do it on macOS is documented all over the Internet and the bindings you need are in the objc and core-graphics crates.
-
GPU computing on Apple Silicon
That looks like Objective C, not C. You can call Objective C methods from Rust via the objc crate.
- Wish we had Mac APIs for Rust
What are some alternatives?
ffidji - 🐶 FFIDJI is a tool to automatically generate bindings between languages, like calling Rust code from C# for instance.
rFmt
fruity - Rusty bindings for Apple libraries
rusty-tags - Create ctags/etags for a cargo project
SwifterSwift - A handy collection of more than 500 native Swift extensions to boost your productivity.
Curry - curry is a framework built to enhance and compliment Foundation and UIKit.
cbindgen - A project for generating C bindings from Rust code
defaultbrowser - Command line tool for getting and setting a default browser (HTTP handler) in macOS
iree - A retargetable MLIR-based machine learning compiler and runtime toolkit.
cacao - Rust bindings for AppKit (macOS) and UIKit (iOS/tvOS). Experimental, but working!
onnx-mlir - Representation and Reference Lowering of ONNX Models in MLIR Compiler Infrastructure