Introduction
Part I: Core
1.
🧠Quickstart
2.
📚 Tutorial: A Flutter+Rust app
2.1.
Android setup
2.1.1.
Alternative NDK setup
3.
🎼 Features
3.1.
Language translations
3.1.1.
Simple correspondence
3.1.2.
Vec and array
3.1.3.
Struct
3.1.4.
Enum
3.1.5.
Tuples
3.1.6.
External types
3.1.7.
Option
3.1.8.
Methods
3.1.9.
Return types
3.1.10.
Dynamic
3.1.11.
Arbitrary Rust types (opaque)
3.1.12.
Arbitrary Dart types (opaque)
3.1.13.
Type alias
3.1.14.
Result / Exceptions
3.1.15.
Parameter defaults
3.2.
Zero copy
3.3.
Stream / Iterator
3.4.
Async in Dart
3.5.
Sync in Dart
3.6.
Concurrency
3.7.
Handler
3.8.
Initialization
3.9.
Async in Rust
3.10.
Multiple files
3.11.
Run in build.rs
3.12.
Cancellable tasks
3.13.
Object pools
3.14.
WASM
3.15.
Miscellaneous
3.16.
Logging
3.17.
Stack Traces
3.18.
Worker pool
3.19.
Expanding macros
Part II: User Guide
4.
Create new projects from a template
4.1.
Creating a new project
4.1.1.
Android setup
4.1.2.
iOS setup
4.1.3.
Web setup
4.1.4.
Windows and Linux
4.1.5.
Other platforms
4.2.
Template tour
4.2.1.
native/src/api.rs
4.2.2.
android/app/build.gradle
4.2.3.
native/native.xcodeproj
4.2.4.
justfile
4.2.5.
rust.cmake
4.3.
Generating code
4.3.1.
Installing codegen
4.3.2.
Adding new code
4.3.3.
Using build_runner
4.3.4.
Wrapping up
5.
Integrating with existing projects
5.1.
Creating a new crate
5.2.
Installing dependencies
5.3.
Integrating with Android
5.3.1.
Hooking onto tasks
5.3.2.
CMake with Gradle
5.4.
Integrating with iOS/MacOS
5.4.1.
Creating the Rust project
5.4.2.
Linking the project
5.4.3.
Generating bindings
5.4.4.
Using dummy headers
5.5.
Integrating with Windows and Linux
5.6.
Integrating with Web
5.7.
Using the dynamic library
5.8.
Wrapping up
6.
Creating a Dart/Flutter library
6.1.
Overview
6.1.1.
Setup
6.1.2.
Monorepo with Melos
6.2.
Creating the libraries
6.2.1.
Dart-only base
6.2.2.
Flutter wrapper
6.3.
Platform specific setup
6.3.1.
Windows & Linux
6.3.2.
iOS & macOS
6.3.3.
Android
6.4.
Continuous Integration & Deployment (CI/CD)
Part III: Contributor Guide
7.
Overview
8.
Overall design
9.
Submodule implementations
9.1.
Rust opaque type safety
9.2.
Dart opaque type safety
10.
Appendix
Part IV: More Doc
11.
Unit testing in Flutter
12.
Tutorial: Pure Dart
13.
Safety concerns
14.
Troubleshooting
15.
Command line arguments
16.
Set up Flutter/Dart+Rust support from scratch
17.
Building a WASM binary manually
18.
Limitations of WASM
19.
Articles
19.1.
Async in Rust
19.2.
Generate multiple files
Light
Rust
Coal
Navy
Ayu
flutter_rust_bridge
The documentation of flutter_rust_bridge v1.