⏱️ Dev rapide • 🧩 Import maps • 📦 Embed dossier

TauriKargo — coder, voir, packager plus vite

Un flux qui privilégie la boucle itérative ultra-courte : TypeScript transpilé à la volée, bibliothèques JS importées depuis node_modules via import map, et packaging qui embarque un dossier (front + backend optionnel).

TypeScript direct Import map → node_modules Backend embarqué (Python/Node/Deno/Bun)

Pourquoi plus rapide que Electron ?

  • Pas de runtime lourd à embarquer (Chromium+Node) : on exploite la WebView native.
  • Pas de bundling imposé pour développer : TS transpilé à la volée, import map vers node_modules.
  • Packaging simple : un exécutable + un dossier embarqué.

Pourquoi plus rapide que Tauri natif ?

  • Boucle dev très courte : pas de rebuild Rust à chaque itération UI.
  • Zéro “dist” obligatoire : tu codes en TS, tu vois le résultat tout de suite.
  • Option backend : si besoin, spawn local 127.0.0.1 sans friction.

Quand préférer Electron/Tauri natif ?

  • Intégrations OS très profondes (APIs système avancées, drivers, sandbox…)
  • Perf GPU/CPU extrêmes où un pipeline Rust/WebGPU dédié s’impose.
  • Politiques IT spécifiques (signature, durcissement binaire, etc.).

Snippet clé : import map + TS à la volée

Exemple d’index.html : on mappe excalibur vers son build ESM dans node_modules, et on charge directement un .ts (transpilé à la volée par TauriKargo).

<script async src="https://unpkg.com/es-module-shims@1/dist/es-module-shims.js"></script>
<script type="importmap">
{
  "imports": {
    "excalibur": "/node_modules/excalibur/build/esm/excalibur.min.js"
  }
}
</script>

<script type="module" src="/src/main.ts"></script>

Dans src/main.ts : import * as ex from 'excalibur', puis new ex.Engine({...}). Pas de dist/ requis pour itérer.

Schéma back-end embarqué (optionnel)

Frontend (WebView) index.html + /src TS + import map fetch → http://127.0.0.1:PORT/api/* HTTP local Exécutable TauriKargo • lance WebView • spawn backend (si présent) spawn Backend Python Node Deno Bun

Le backend écoute en local (127.0.0.1:PORT). Le front appelle les routes de l’API. Tu embarques ce que tu veux (binaire ou script + runtime).

Astuce : garde tes dépendances pinnées (ex. "excalibur": "0.30.3") et évite les rebuilds inutiles pendant le dev. L’objectif : coder vite, voir vite, packager vite.