DEV Community

RustDesk
RustDesk

Posted on • Edited on

Summary of Flutter vs Tauri

Last week we posted a discussion on the selection of Flutter and Tauri on GitHub, and we are glad that both the author of Tauri and the author flutter_rust_bridge have participated. In the end, the voting score of Tauri is higher. Although we favored Tauri originally, but we still choose Flutter for the time being due to the poor IPC performance of Tauri. I will summarize the discussion, hope it can help you choose between Flutter and Tauri in your future job.

Pros of Tauri:

  • Tauri ecosystem is richer, with massive resources of html/css/js
  • Tauri community is awesome
  • Tauri is based on the browser kernel which is more mature than Flutter in the desktop environment
  • Tauri is simpler, easier to build, easier to learn, and easier to get more contributors
  • Simpler integration with Rust, even you can call Rust async functions (I haven't tried it)
  • Smaller application after compilation

Cons of Tauri:

  • IPC performance is not good (The author of Tauri mentioned the reasons for discarding shared memory support mentioned in the discussion, as well as the problems of IPC, and incomming optimizations, but I can not find it any more)
  • Due to the use of the browser kernel, bigger memory footprint. There are also browser compatibility issues on different platforms.
  • Win7 without WebView installed is a trouble. You can make a big package yourself, or you can install it online, which are not very friendly.
  • Not support mobile. The author mentioned that the mobile version will be launched this year. It is said to be based on EGUI, but there is still a long way to reach stable version.

Pros of Flutter:

  • The ecosystem is also rich
  • Desktop + mobile
  • Good FFI performance
  • Supported by Google

Cons of Flutter:

  • 32-bit Windows are not supported, Google has explicitly stated that they won't support 32-bit Windows.
  • Building, debugging, and integration with Rust is a bit more complicated
  • The final package is slightly larger, a hello world under Windows is 20MB, after zip compression it is 8.36MB, similar size under Linux
  • No static link library

Top comments (0)