Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today. Learn more →
Top 23 Rust FFI Projects
Rust bindings for the Python interpreter
I use Qt but I use PyO3 to set up a "Python/PyQt/PySide frontend on top of Rust backend" architecture for the QWidget APIs similar to the "QML frontend on top of C++ backend" that they officially promote for Qt Quick.
Rust bindings for writing safe and fast native Node.js modules. (by neon-bindings)Project mention: Interaction between a Node.js module and a Rust program | reddit.com/r/node | 2023-01-31
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
Safe Rust bridge for creating Erlang NIF functionsProject mention: It's legos all the way down | dev.to | 2023-02-17
unfortunately as of the time of this writing, rustler does not support generic type intefaces so I guess this is impossible?
Automatically generates Rust FFI bindings to C (and some C++) libraries.Project mention: I implemented a NASA image compression algorithm | reddit.com/r/programming | 2023-03-23
It looks like the guy you're replying too was kind of an ass, but I do want to point out for anyone else reading that that's not actually that much of a technical limitation: rust code can natively call C code. The main thing you need is a translation of the C library's header file so rustc knows what C functions and structs exist, and that can be automatically generated with bindgen.
High-level memory-safe binding generator for Flutter/Dart <-> Rust
A project for generating C bindings from Rust codeProject mention: Rust FFI and cbindgen: Integrating Embedded Rust Code in C | dev.to | 2023-01-23
Later we'll see what cbindgen essentially does is receive a configuration and a Rust library and then spit out a C header (.h) file. One might think that what cbindgen is doing might not be that special and can be done by hand. In which some cases that might be true if the project is simple enough. Though additionally as the cbindgen documentation states:
Rust <-> Python bindingsProject mention: How does Rust Python ffi work? | reddit.com/r/rust | 2022-05-10
I've never used pyo3, just cpython, but the latter at least let me do things like:
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
Rust bindings to Windows APIProject mention: I seen people say that () is similar to void in C. But what is similar to void*? | reddit.com/r/rust | 2023-03-27
The std library provides the type c_void for FFI, which is an enum with two variants. Some libraries have their own version, winapi for example defines c_void as an enum with no variants, making it identical to !. Finally, whenever the std needs a pointer with no particular type, they tend to reach for *const (), see ptr::to_raw_parts.
Write Cloudflare Workers in 100% Rust via WebAssemblyProject mention: How much Rust work is actually going on at Cloudflare? | reddit.com/r/rust | 2023-01-15
I'm also in the Workers org but I have had a bit of interaction with Rust. There's some Rust in the Workers runtime using lol-html for HTMLRewriter as well as some tooling and there's the full blown workers-rs framework that I work on, but that's about it for the Rust I work on regularly.
Rust bindings to the Java Native Interface — JNIProject mention: A system Steam should add | reddit.com/r/Steam | 2022-12-10
I do have education and real experience in the field. See, for example, my recent work on the rather arcane subject of Rust↔Java FFI. You don't get to pull rank with me, son. I know quite well what CreateFile does. (Fun fact: it creates a file handle, i.e. opens a file, and may or may not create the file itself.)
Embed C++ directly inside your rust code!Project mention: Zork++ reaches the v0.5.0, ...where the project has been [completely] rewritten in Rust | reddit.com/r/programmingcirclejerk | 2023-02-13
https://github.com/mystor/rust-cpp <- not a transpiler, but almost as good
swift-bridge facilitates Rust and Swift interop.Project mention: swift-bridge 0.1.37 supports passing `Box<dyn FnOnce(A, B) -> C>` from Rust to Swift | reddit.com/r/rust | 2022-09-15
Ruby bindings for Rust. Write Ruby extension gems in Rust, or call Ruby from Rust.Project mention: Regarding using multiple languages in one project | reddit.com/r/learnprogramming | 2023-02-15
You can also use Rust to write an extension module that can be loaded into the Ruby interpreter, so that everything runs in the same process: https://github.com/matsadler/magnus
Java for Rust
Bindings for the Zend API to build PHP extensions natively in Rust.Project mention: OK so whose gonna tell them | reddit.com/r/rustjerk | 2023-03-12
Real chads write PHP websites and extend it with Rust
Objective-C Runtime bindings and wrapper for Rust.Project mention: Where do I start for creating a windowed app in pure rust? | reddit.com/r/rust | 2022-11-22
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.
Bridge the gap between Haskell and Rust
Rust binding and tools for Emacs's dynamic modules
Windows API and GUI in safe, idiomatic Rust.Project mention: A Proposal for Safe Window Handles | reddit.com/r/rust | 2023-03-25
I don't know how rare this is (or how rare it should be), but this issue warned me about this potential problem, and I had to make a huge refactoring to treat the possibility. I had to rethink many aspects of all handle implementations. It was hard work, but in the end it was worth it.
Easy interop between Rust and Java (by giovanniberti)
OCaml extensions in Rust
mruby safe bindings for Rust
A Rust crate for automatically generating C header files from Rust source file.
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Rust FFI related posts
I seen people say that () is similar to void in C. But what is similar to void*?
1 project | reddit.com/r/rust | 27 Mar 2023
Announcing `stabby`: a stable ABI for Rust with niche optimizations and much more!
5 projects | reddit.com/r/rust | 24 Mar 2023
I implemented a NASA image compression algorithm
4 projects | reddit.com/r/programming | 23 Mar 2023
no good UI toolkit/framework
4 projects | reddit.com/r/rust | 18 Mar 2023
Security Engineer looking for ways to see if any of my tasks could slowly be ported to Rust or should I just stick with Python.
3 projects | reddit.com/r/rust | 15 Mar 2023
I use dwm btw
1 project | reddit.com/r/linuxmasterrace | 13 Mar 2023
Pyo3: Rust Bindings for the Python Interpreter
1 project | news.ycombinator.com | 6 Mar 2023
A note from our sponsor - SonarLint
www.sonarlint.org | 29 Mar 2023
What are some of the best open-source FFI projects in Rust? This list will help you: