Vyskúšal som tauri a bol som celkom spokojný s výsledkom. Tauri produkuje jediný binárny súbor s UI vytvoreným vo webových frontendových technológiách, ktoré milujeme nenávidieť – ako React, Vue alebo dokonca Svelte. Kúzlo sa skrýva v Ruste.

Hlavným konkurentom Tauri je zdanlivo Electron. Hoci je Electron celkom populárny a raz som ho použil aj v produkcii, jeho reputácia je poznačená vysokou pamäťovou náročnosťou a bezpečnostnými zraniteľnosťami. Na druhej strane, všetko, čo súvisí s Rustom, je marketingovo prezentované ako bezpečnejšie.

Bootstrapping je možné vykonať pomocou create-tauri-app. Vyzve vás, aby ste si pozreli systémové požiadavky – Arch je zahrnutý, ale pamätám si, že som ho mal už nastavený. Používam niektorý softvér súvisiaci s Rustom, ktorý treba skompilovať, napríklad paru, takže s tým to možno súvisí.

npx create-tauri-app

Pre Svelte, môj obľúbený JS frontend, je najprv potrebné zvoliť @vitejs/create-app a v podmenu sa ponúka svelte aj svelte-ts pre TypeScript. Proces buildu vypíše nasledujúcu chybu:

>> 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)

Ešte som neprišiel na to, ako sa jej zbaviť, ale pokúsil som sa pokračovať napriek nej:

pnpm install

Tu žiadne problémy. A nakoniec:

pnpm run tauri build

Čas buildu na mojom stroji je dosť dlhý:

time pnpm run tauri build

Výsledok bol 145.47s user 1.42s system 298% cpu 49.285 total.

Pozrime sa na veľkosť skompilovaného spustiteľného súboru:

du -h ./src-tauri/target/release/tarui-app

Môj systém vypísal 26M. Skúsil som ho spustiť:

./src-tauri/target/release/tarui-app

Fungoval to napriek vyššie spomínanej chybe. Dúfam, že budem mať čoskoro príležitosť preskúmať viac funkcií tauri.

Toto je 87. príspevok série #100daystooffload.