rust-block
swift-bridge
rust-block | swift-bridge | |
---|---|---|
2 | 16 | |
47 | 723 | |
- | - | |
0.0 | 7.0 | |
3 months ago | 7 days ago | |
Rust | Rust | |
- | Apache License 2.0 |
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-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 _) };
swift-bridge
-
macOS Apps in Rust
A bit late, but `swift-bridge` (https://github.com/chinedufn/swift-bridge) does this intelligently, and is probably what you're looking for.
- swift-bridge 0.1.37 supports passing `Box<dyn FnOnce(A, B) -> C>` from Rust to Swift
-
Rust playground on iOS
4) Another route that I tried is to develop a simple terminal app using SwiftUI with a Xcode project to build that app + link against a Rust library compiled for iOS with the actual logic. I used swift-bridge for this and it works really well, to the point where I have a custom logger that you can simply use the print stuff to SwiftUI from Rust using the log crate. Once I have a bit more time, I will probably try figuring out how to clean this up a bit more.
-
Hey Rustaceans! Got a question? Ask here! (28/2022)!
Since Swift is your first target, I might recommend swift-bridge which can generate bindings for Rust async fns that Swift can call directly.
-
What's everyone working on this week (18/2022)?
I'm working on getting my GUI crate (https://github.com/audulus/rui) working on iOS (https://github.com/audulus/rui-ios). Multitouch will be fun. Shout out to the excellent work in swift-bridge: https://github.com/chinedufn/swift-bridge.
-
swift-bridge: type-safe interop between Swift and Rust
So that class SwiftString was actually unused. I've removed it here https://github.com/chinedufn/swift-bridge/pull/33 .
-
swift-bridge now supports calling async Rust functions from Swift
Here's an example of a Rust library that exposes an async function that uses reqwest to make an API call, and a main.swift that calls that async function.
-
Any good tutorials/examples on using a Rust library in Swift code for multiple targets?
Have you tried Swift Bridge? https://github.com/chinedufn/swift-bridge
- Swift-bridge: Call Rust from Swift and vice versa
What are some alternatives?
rust-objc - Objective-C Runtime bindings and wrapper for Rust.
swift - The Swift Programming Language
chkservice - Systemd units manager with ncurses, terminal interface
cxx - Safe interop between Rust and C++
k9s - 🐶 Kubernetes CLI To Manage Your Clusters In Style!
repo
rust-bindgen - Automatically generates Rust FFI bindings to C (and some C++) libraries.
rust - Empowering everyone to build reliable and efficient software.
Cursive - A Text User Interface library for the Rust programming language
config-rs - ⚙️ Layered configuration system for Rust applications (with strong support for 12-factor applications).
tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
rui - Declarative Rust UI library