I had tried tauri and was pretty pleased by the result. Tauri produces a single binary with the UI made in web frontend technologies we love to hate like React, Vue or even Svelte. It's magic is done in Rust.
Tauri's main competitor appears to be Electron. Although Electron is quite popular, and I have used it in production once, it's reputation seems to be plagued by large memory footprint and security vulnerabilities. On the other hand, everything Rust related is marketed more secure.
The bootstrapping can be done with create-tauri-app. It asks to take a look at the system requirements and Arch is included, but I remember having already in place. I do use some Rust related software that has to be built, for instance paru, so maybe this could be related.
npx create-tauri-app
For Svelte, my JS frontend of choice, one has to first choose
@vitejs/create-app
and the submenu offers svelte
and svelte-ts
, for
typescript as well. The build process outputs the following error:
>> Running final command(s)
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module '~/tauri/sdfsfd/node_modules/esbuild/install.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
Error with command: node
Error: Error: Command failed with exit code 1: node ./node_modules/esbuild/install.js
at ~/.npm/_npx/14052/pnpm-global/4/node_modules/.pnpm/[email protected]/node_modules/create-tauri-app/dist/index.js:63:15
at Generator.throw (<anonymous>)
at rejected (~/.npm/_npx/14052/pnpm-global/4/node_modules/.pnpm/[email protected]/node_modules/create-tauri-app/dist/index.js:40:65)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
I have yet to find how to get rid of it, but I tried to move forward in spite of it:
pnpm install
No problems here. Finally:
pnpm run tauri build
The build time on my machine is quite long:
time pnpm run tauri build
Resulted in 145.47s user 1.42s system 298% cpu 49.285 total
.
Let's check the built executable's size:
du -h ./src-tauri/target/release/tarui-app
My system outputted 26M
. I tried to run it:
./src-tauri/target/release/tarui-app
It worked even though the above error. I hope I will have the opportunity to explore more of the tauri features soon.
This is a 87th post of #100daystooffload.