Show HN: Rust GUI Library via Flutter

Experiences with Flutter Rust Bridge (FRB)

  • Multiple users report very positive experiences: “works like magic,” smooth FFI, good codegen, and strong async/Tokio support.
  • Used successfully for high‑performance tasks (e.g., image compression) and full apps with Rust business logic and Flutter UI.
  • Upgrading from v1 to v2 described as straightforward, with v2 a clear improvement.

Comparisons with Other Rust + UI Approaches

  • rinf/crux: Crux shares Rust business logic while using native UIs (Android/iOS/Web) but requires writing UI multiple times; FRB favors single Flutter UI.
  • Tauri: praised for reusing web frameworks and Rust backend, but its mobile support and Rust–JS bridge are seen as immature vs Flutter + FRB.
  • Electron: some still prefer Electron for cross‑platform reach and ecosystem maturity.

Flutter vs React and Other UI Stacks

  • Supporters say Flutter’s “render whole widget tree” model, widgets like FutureBuilder/StreamBuilder, and hot reload make reasoning about state and rendering easier than React’s hooks/effects ecosystem.
  • Others argue Flutter and React are conceptually similar (UI as a function of state) and see no major difference in abstraction.
  • Some find Flutter’s desktop/web less polished; others claim it’s fully production‑ready and point to ongoing development activity, with debate over GitHub metrics.
  • Job market is perceived as far stronger for React than Flutter.

Dart as a Language

  • Fans praise Dart’s tooling and ergonomics, preferring it over TypeScript/JS.
  • Critics dislike its Java/C#‑like feel, syntax choices, and JSON boilerplate; these are seen as barriers to adopting Flutter despite liking the framework.

Rust vs Dart Safety and Performance

  • Rust is acknowledged as faster and offering strong memory and thread safety.
  • Others note Dart is also memory‑safe and “safe enough” for most app logic; Rust’s big win is performance‑critical sections, which FRB targets.

Architectural Choices (Bridge vs RPC)

  • Some use FRB FFI directly; others separate Flutter UI and Rust backend via gRPC (over TCP or Unix domain sockets) for clearer boundaries, language agnosticism, and easier remote deployment, at the cost of more verbosity.

Ecosystem, Governance, and Longevity Concerns

  • One commenter worries Flutter might be abandoned by Google; others strongly dispute this, saying claims of mass Flutter layoffs are incorrect and drawing contrasts with previous Google technologies that remained supported.

Other UI Frameworks / Languages & IDL Ideas

  • Interest in a UI‑specific declarative language that can be bound from any host language; QML and Slint are cited as close examples, and modern XAML‑based stacks (Avalonia, Uno, MAUI) are mentioned as alive and evolving.

Performance, Footprint, and a11y

  • Rough claim: simple Flutter apps can be on the order of ~5 MB, with AOT‑compiled Dart giving good UI performance; users are advised to benchmark their own cases.
  • Flutter’s accessibility is described as “very good” and straightforward to apply per widget, but detailed specifics are not discussed.