This is just a personal experience, there are no absolute truths. Like in any other blog post, a lot of the things you'll read here could be just a skill issue, or legitimate issues. It's up to you to decide. We had an app that had a nice Flutter UI that called Rust binaries. The bindings were generated using flutter_rust_bridge, which is an amazing piece of software. A lot of people have built large and complex apps using this tool. It's crazy how far it can just work, just by running: flutter_rust_bridge_codegen generate That's really all it takes for many, many, many cases. But I got frustrated for the few times that 'generate' won't work, for the times where FFI wasn't just working, and for the times that I had to spend energy designing a public API that was 100% friendly for Rust <-> Flutter. After some time of being frustrated with the current stack, I was thinking of dropping Flutter, I didn't want to think about FFI anymore. I chose egui to check if it was feasible to move the UI code with very little friction. I came to know about egui because of the extremely impressive work they've done to build rerun. I was very motivated to try this. After rewriting most of the UI code in egui during a weekend, I decided to move and leave Flutter behind. But why? Having 2 programming languages adds complexity. BoquilaHUB is a small software project, I don't want it to have unnecessary complexity. Not all complexity is unnecessary, you do sometimes need it in order to make progress and get things done. So, how much complexity is unnecessary complexity? We can measure this by looking at lines of code. In my case, 'flutterrustbridge_codegen generate' will generate a few thousand lines of code. I don't understand this generated code, it's not readable. Do I really want to have some code I don't understand in my project folder? In earlier versions of the project, sometimes the amount of generated lines would be higher than the lines written by me. This balance would change d...
First seen: 2025-06-27 08:26
Last seen: 2025-06-27 18:28