# cunarist/rinf

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/cunarist-rinf).**

2,623 stars · 104 forks · Rust · mit

## Links

- GitHub: https://github.com/cunarist/rinf
- awesome-repositories: https://awesome-repositories.com/repository/cunarist-rinf.md

## Topics

`android` `app` `cross-platform` `dart` `ffi` `flutter` `gui` `ios` `linux` `macos` `production-ready` `restful-api` `rust` `web` `windows`

## Description

rinf is a cross-platform native bridge and integration layer used to connect business logic written in Rust to application frontends. It functions as a cross-language message broker and binary serialization framework that enables the exchange of structured data between a Rust backend and user interfaces across mobile, desktop, and web targets.

The project utilizes a schema-driven code generator to produce language-specific message classes from shared definitions. This ensures type-safe message passing and consistency across different programming environments, preventing data mismatches during serialization.

The framework covers asynchronous message passing and reactive data streaming for pushing real-time updates from the native layer to the UI. It also manages bidirectional data transmission, allowing for both upstream and downstream structured data exchange.

The system includes utilities for cross-platform build orchestration, project template generation, and resource lifecycle management.

## Tags

### Mobile Development

- [Native Backend UIs](https://awesome-repositories.com/f/mobile-development/cross-platform-frameworks/flutter/native-backend-uis.md) — Provides a native Rust backend integrated with a Flutter graphical front-end. ([source](https://cdn.jsdelivr.net/gh/cunarist/rinf@main/README.md))

### Programming Languages & Runtimes

- [Native-to-UI Bridges](https://awesome-repositories.com/f/programming-languages-runtimes/language-interoperability/foreign-function-interfaces/ffi-type-definitions/static-type-safe-bridges/native-to-ui-bridges.md) — Connects a Rust backend to a frontend using generated types that prevent data mismatches during serialization.
- [Cross-Language Data Exchange](https://awesome-repositories.com/f/programming-languages-runtimes/cross-language-data-exchange.md) — Enables bidirectional movement of structured data between Rust and frontend languages using a shared serialization format.

### Part of an Awesome List

- [Type-Safe Message Buses](https://awesome-repositories.com/f/awesome-lists/devtools/automation-scripts/inter-script-message-buses/type-safe-message-buses.md) — Exchanges asynchronous data packets between a frontend and backend while enforcing type safety through generated classes.
- [Cross-Platform App Builders](https://awesome-repositories.com/f/awesome-lists/devtools/desktop-and-mobile-apps/cross-platform-app-builders.md) — Builds applications for mobile, desktop, and web targets from a single source with a shared native core.

### Data & Databases

- [Binary Serialization Formats](https://awesome-repositories.com/f/data-databases/binary-serialization-formats.md) — Provides a binary serialization format to encode structured data into compact byte streams for efficient transfer.
- [Rust](https://awesome-repositories.com/f/data-databases/serialization-frameworks/rust.md) — Implements a serialization framework specifically for the Rust ecosystem to exchange structured data with other languages.
- [Native-to-UI Type Mappings](https://awesome-repositories.com/f/data-databases/type-mapping-frameworks/script-to-native-type-mappings/native-type-mappings/rust-c-type-mappings/rust-to-javascript-mappings/native-to-ui-type-mappings.md) — Provides a typed interface for connecting business logic written in Rust to application frontends across multiple platforms.

### Development Tools & Productivity

- [Schema-Driven Code Generators](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/code-generation/schema-driven-code-generators.md) — Produces language-specific message classes from shared definitions to ensure type consistency across different environments.
- [Rust-Dart FFI Generators](https://awesome-repositories.com/f/development-tools-productivity/type-safe-binding-generators/rust-dart-ffi-generators.md) — Provides type-safe Dart bindings and automatic serialization for transmitting data to Rust backend logic. ([source](https://cdn.jsdelivr.net/gh/cunarist/rinf@main/README.md))
- [Cross-Platform Build Systems](https://awesome-repositories.com/f/development-tools-productivity/build-automation-engines/cross-platform-build-systems.md) — Automates build configurations to compile and package native code and UI layers across mobile, desktop, and web targets.

### Networking & Communication

- [Asynchronous Message Passing](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/inter-process-communication/asynchronous-message-passing.md) — Implements non-blocking communication channels to transmit data packets between the Rust native layer and the user interface.
- [Message Brokers](https://awesome-repositories.com/f/networking-communication/message-brokers.md) — Acts as a middleware component facilitating asynchronous, schema-defined communication between a native backend and a UI.
- [Structured Data Exchanges](https://awesome-repositories.com/f/networking-communication/message-passing/structured-data-exchanges.md) — Implements binary serialization for exchanging structured data between Rust and Dart application layers. ([source](https://rinf.cunarist.org/field-types/))

### Operating Systems & Systems Programming

- [Native Logic Integrations](https://awesome-repositories.com/f/operating-systems-systems-programming/native-logic-integrations.md) — Connects a native Rust logic layer to a user interface with type-safe communication and automated build configurations.

### Software Engineering & Architecture

- [Cross-Language Message Classes](https://awesome-repositories.com/f/software-engineering-architecture/interface-definition-languages/type-safe-code-generators/cross-language-message-classes.md) — Generates type-safe language-specific classes from shared schemas to prevent data mismatches. ([source](https://cdn.jsdelivr.net/gh/cunarist/rinf@main/README.md))
- [Reactive Data Streams](https://awesome-repositories.com/f/software-engineering-architecture/reactive-data-streams.md) — Pipes real-time structured updates from the native logic layer to the user interface via reactive streams.

### User Interface & Experience

- [Cross-Platform UI Bridges](https://awesome-repositories.com/f/user-interface-experience/native-ui-bridges/cross-platform-ui-bridges.md) — Provides a bridge for streaming structured updates and handling binary data exchange between Rust and multi-platform targets.

### DevOps & Infrastructure

- [Cross-Platform Deployment Targets](https://awesome-repositories.com/f/devops-infrastructure/cross-platform-deployment-targets.md) — Supports compiling and running integrated applications across diverse operating systems and hardware architectures. ([source](https://cdn.jsdelivr.net/gh/cunarist/rinf@main/README.md))
