How-to
📄️ Stack Traces
This is standard Rust behavior, and is unrelated to flutterrustbridge.
📄️ Debugging
Debuggers
📄️ Logging
Since I have seen some questions asking how logging can be implemented with a Flutter + Rust application, here are some examples.
📄️ Report errors
At Dart side
📄️ Testing and mocking
In this section, we discuss some of the ways to test an application / library
📄️ Cancellable tasks
When the Rust code is computationally heavy, you may want to cancel it at the middle when,
📄️ Inspection / Hooks / Aspect-oriented programming
Sometimes, we may want to add some logic when things like Dart-call-Rust starts and ends.
📄️ Customize Rust library loading
By default, during initialization,
📄️ Initialization
Use [frb(init)]
📄️ Stateful Rust
What if our Rust code needs to be stateful?
📄️ Protobuf / JSON / etc
If you want to use Protobuf, JSON, or whatever serialization methods, it is also quite easy:
📄️ Android NDK Init
This page is only needed to read if you want to use Android NDK in Rust code,
📄️ Avoid regressions
Every code change will have to pass the CI with various checks and tons of tests (see the CI part of this page),
📄️ Object pools
When there are some big objects, or even non-encodable objects in the Rust side,
📄️ Git Ignore
Since it is asked in #1765,
📄️ Rust compilation
Sometimes, some customization about Rust compilation may be needed,
📄️ Cargo Workspaces
You can add flutterrustbridge to an existing Cargo Workspace by using the --rust-crate-dir option.
📄️ Cross-origin in Web
This page only applies to the web platform,