rust-objc
rust-block
rust-objc | rust-block | |
---|---|---|
6 | 2 | |
377 | 47 | |
- | - | |
0.0 | 0.0 | |
7 months ago | 3 months ago | |
Rust | Rust | |
MIT License | - |
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.
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
rust-block
- macOS Apps in Rust
-
Baby's first Rust with extra steps (XPC, launchd, and FFI)!
let block = ConcreteBlock::new(move |key: *const c_char, value: xpc_object_t| { unsafe { xpc_retain(value) }; let str_key = unsafe { CStr::from_ptr(key).to_string_lossy().to_string() }; let xpc_object: XPCObject = value.into(); map_refcell .borrow_mut() .insert(str_key, xpc_object.into()); true }); // https://github.com/SSheldon/rust-block#creating-blocks let block = block.copy(); let ok = unsafe { xpc_dictionary_apply(object.as_ptr(), &*block as *const _ as *mut _) };
What are some alternatives?
rFmt
chkservice - Systemd units manager with ncurses, terminal interface
rusty-tags - Create ctags/etags for a cargo project
k9s - 🐶 Kubernetes CLI To Manage Your Clusters In Style!
fruity - Rusty bindings for Apple libraries
rust-bindgen - Automatically generates Rust FFI bindings to C (and some C++) libraries.
cbindgen - A project for generating C bindings from Rust code
Cursive - A Text User Interface library for the Rust programming language
iree - A retargetable MLIR-based machine learning compiler and runtime toolkit.
tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
onnx-mlir - Representation and Reference Lowering of ONNX Models in MLIR Compiler Infrastructure
swift-bridge - swift-bridge facilitates Rust and Swift interop.