I see what you mean, but to a reader unfamiliar with tauri this makes it sound really bad.
Here's how I use tauri:
Almost everything is native rust in the "backend" process, which is where main is. I don't need any ffi calls to write files, open ports, etc, it's a normal rust program that happens to have a web view.
So I've never had a problem with compiling to wasm, the GUI is TypeScript and the business logic is aot rust
The ipc boundary is annoying. It'll be faster in tauri 2, but in 1 it uses json or something internally, so you couldn't e.g. write a video player that uses a custom rust codec. Getting uncompressed video frames through ipc would kill perf
One of this release's features is getting byte streams into the webview using custom protocols. It's not as ideal as say, sharing a GPU texture with the webview, but powerful enough to do video streaming and data viz.
Here's how I use tauri:
Almost everything is native rust in the "backend" process, which is where main is. I don't need any ffi calls to write files, open ports, etc, it's a normal rust program that happens to have a web view.
So I've never had a problem with compiling to wasm, the GUI is TypeScript and the business logic is aot rust
The ipc boundary is annoying. It'll be faster in tauri 2, but in 1 it uses json or something internally, so you couldn't e.g. write a video player that uses a custom rust codec. Getting uncompressed video frames through ipc would kill perf
I'll take a look how dioxus solves this