Flutter 3.0 released: GUI on six platforms using a single codebase, with productivity, flexibility, and performance. Use with Rust via flutter_rust_bridge.
Link: https://github.com/fzyzcjy/flutter\_rust\_bridge
With Flutter 3.0 release, MacOS and Linux are now stable, in addition to Windows, Android, iOS and Web which has been stablized before. Performance is also reported to be improved, with various new features.
P.S. What is flutter_rust_bridge \- a brief list of its advantages:
- Memory-safe: Never need to think about malloc/free.
- Feature-rich:
enums with values, platform-optimizedVec, possibly recursivestruct, zero-copy big arrays,Stream(iterator) abstraction, error (Result) handling, cancellable tasks, concurrency control, and more. See full features here. - Async programming: Rust code will never block the Flutter. Call Rust naturally from Flutter's main isolate (thread).
- Lightweight: This is not a huge framework that includes everything, so you are free to use your favorite Flutter and Rust libraries. <sub>For example, state-management with Flutter library (e.g. MobX) can be elegant and simple (contrary to implementing in Rust); implementing a photo manipulation algorithm in Rust will be fast and safe (countrary to implementing in Flutter).</sub>
- Cross-platform: Android, iOS, Windows, Linux, MacOS (Web coming soon)
- Easy to code-review & convince yourself: This package simply simulates how humans write boilerplate code. If you want to convince yourself (or your team) that it is safe, there is not much code to look at. No magic at all! (More about safety concerns.)
- Fast: It is only a thin (though feature-rich) wrapper, without overhead such as protobuf serialization, thus performant. (More benchmarks later) <small>(Throw away components like thread-pool to make it even faster)</small>
- Pure-Dart compatible: Despite the name, this package is 100% compatible with pure Dart.