Calling Rust from Flutter: FRB or UniFFI?
A beginner-friendly comparison of flutter_rust_bridge and UniFFI, with small examples, practical differences, and guidance on choosing between them.
All posts, sorted by publication date.
Page 1 of 2
A beginner-friendly comparison of flutter_rust_bridge and UniFFI, with small examples, practical differences, and guidance on choosing between them.
Starting from a Flutter app that gradually became harder to maintain, this article explains why I introduced a Rust Core, what FRB does between the two sides, and how the architecture creates clearer boundaries.
The same goal — seeing an app's HTTPS traffic — plays out very differently on native Android and Flutter: certificate trust, traffic redirection, and hostname verification each fail at a different point. Ends with a complete reusable capture flow you can follow next time.
How I went from a suspicious difference in app behavior to the client-side A/B routing logic using USB packet capture, remote-config decoding, and Dart AOT analysis.
How I worked from an Android client and a BLE protocol toward a Python reference, a Rust core, the AidexKit Swift driver, and a working LoopWorkspace integration.
A firsthand account of dividing responsibilities across a Flutter host, a contract SDK, and a Vue web app—and of handling payments, back navigation, lifecycle, startup, and updates along the way.
A practical investigation into a long-running Flutter Android issue: why common navigation bar fixes work in some projects but not others, and how to reduce the problem to a minimal fix.
A practical workflow from API definitions and generated code to Repository mapping, using AI to reduce repetitive work and let API integration and UI development move forward in parallel.
A C/C++-oriented look at Rust ownership, zero-cost abstractions, Cargo, and the cost of learning and using the language.
A practical look at wrapping a C/C++ business core for iOS, Android, and Flutter, with notes on runtime boundaries, ABI choices, adapters, and release checks.
When software engineering students stand at the crossroads of graduate school, civil service exams, employment, and AI, what they may need most is not a fixed answer, but the ability to adapt to change.
A debugging note for a facebook_app_events issue where debug/profile builds worked, but Android release builds only reported install events and lost purchase/subscription events. The root cause is explained through R8 reachability analysis, dynamic calls, and keep rules.