mozilla/uniffi-rs
a multi-language bindings generator for rust
Build with Backblaze B2
SDKs, agent skills, IDE extensions, and reference pipelines from Backblaze Labs. All open source.
Loading star history...
Where it stands
Rank, growth pace and release cadence relative to everything GStars tracks.
The project lists 152 contributors on GitHub.
Gained 14% fewer stars in the last 90 days than in the 90 days before.
Use Cases & Benefits
- Generates multi-language bindings to enable Rust code usage across different programming languages.
- Simplifies cross-platform development by auto-generating language bindings from a single Rust codebase.
- Use for integrating Rust business logic into mobile apps with Kotlin for Android and Swift for iOS.
- Use for creating Python or Ruby extensions that leverage Rust's performance and safety features.
- Use for building cross-platform shared libraries accessible from C#, Go, or other supported languages.
Should you depend on it?
License terms, project hygiene and risks, from GitHub metadata and GStars' snapshots.
License
Mozilla Public License 2.0
Weak copyleft: changes to the licensed code itself must be shared when you distribute it, but code that merely uses it can stay under your own license.
Community files
- README: present
- Contributing guide: present
- Code of conduct: present
Watch-outs
- No GitHub releases; pin a commit or tag instead of a release.
General guidance from repository metadata, not legal advice. How we score
From the README
UniFFI is a toolkit for building cross-platform software components in Rust.
For the impatient, see the UniFFI user guide or the UniFFI examples.
By writing your core business logic in Rust and describing its interface in an "object model", you can use UniFFI to help you:
You can describe your object model in an interface definition file or by using proc-macros.
UniFFI is currently used extensively by Mozilla in Firefox mobile and desktop browsers; written once in Rust, auto-generated bindings allow that functionality to be called from both Kotlin (for Android apps) and Swift (for iOS apps). It also has a growing community of users shipping various cool things to many users.
UniFFI comes with support for Kotlin, Swift, Python and Ruby with 3rd party bindings available for C# and Golang. Additional foreign language bindings can be developed externally and we welcome contributions to list them here. See Third-party foreign language bindings.
You can read more about using the tool in the UniFFI user guide.
Daily snapshots
Stars gained per day, and how forks and open issues moved, from GStars' daily snapshots
Forks
340+18
Open issues
308+29
Compared with peers in Backend
Fastest-growing repositories GStars tracks in this cohort for the week of Nov 1, by 7-day star growth
| Repository | Stars | +7d | Health | Last release |
|---|---|---|---|---|
| anthropics/skills | 187.8K | +2.9K | 15 | — |
| DuarteSantos8/openGym | 19.7K | +2.4K | 60 | 2 days ago |
| shiyu-coder/Kronos | 47.0K | +2.3K | 16 | — |
| NationalSecurityAgency/ghidra | 98.2K | +2.3K | 64 | 14 days ago |
| microsoft/VibeVoice | 56.0K | +1.1K | 29 | — |
| mozilla/uniffi-rs | 5.1K | — | 45 | — |
| Category median | 56.0K | +2.3K | 29 | — |
Also by mozilla
Other repositories from this maintainer that GStars tracks
- JavaScript54.1K stars
pdf.js
PDF Reader in JavaScript
- Rust7.8K stars
sccache
Sccache is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible. Sccache has the capability to utilize caching in remote storage environments, including various cloud storage options, or alternatively, in local storage.
Discover Repositories
Search across tracked repositories by name or description