Desktop-Architektur erfassen
Erfasst Laufzeiten, native Werkzeuge und Speichergrenzen vor der Wahl einer Desktop-Implementierung.
desktop-architecture-discovery
Teammitglieder mit diesem Skill
Wann ist der Skill hilfreich?
Nutze dies, wenn Electron- oder Tauri-Funktionen Betriebssystemwerkzeuge oder gebündelte Programme benötigen.
Wobei hilft er dir?
- Unterscheidet mitgelieferte Laufzeiten von nutzerseitig installierten Befehlen.
- Dokumentiert Zielsysteme, Prozessorarchitekturen und Anforderungen nativer Programme.
- Trennt schreibgeschützte Anwendungsressourcen von beschreibbaren Nutzerdaten.
Das könntest du fragen
Erfasse eingebetteten Server, Git-Abhängigkeit und lokale Datenpfade unserer App unter macOS und Windows. Verfolge den Start auf einem Rechner ohne Entwicklungswerkzeuge. Liste benötigte Programme sowie Speicherorte architekturspezifischer Binärdateien und beschreibbarer Daten auf.
Ausführliche Dokumentation
Hier findest du die ursprüngliche Anleitung, Beispiele und Prüfschritte des Skills in ihrer Originalsprache.
Weniger anzeigen
Desktop Architecture & Dependency Discovery
Wrapping a web UI in a desktop window does not automatically package its backend runtime, native database bindings, or external CLI dependencies. Before choosing or modifying a desktop shell, inventory every runtime dependency the application requires on a clean user machine where neither Node.js, Python, nor developer tools are pre-installed.
Framework Selection Matrix: Electron vs. Tauri
Base the framework choice on concrete runtime and dependency requirements—and validate with a minimal packaged prototype early:
| Dimension | Electron (Chromium + Node.js Main/Utility Process) | Tauri v2 (OS WebView: WebKit / WebView2 + Rust Core) |
|---|---|---|
| Built-in Node.js Runtime | Yes — runs an existing Node.js server, node:sqlite, or JS worker directly via Main or utilityProcess (ELECTRON_RUN_AS_NODE=1) |
No — Tauri does not include Node.js; running a Node backend requires bundling a standalone SEA/pkg sidecar binary (externalBin) per target triple or rewriting backend logic in Rust |
Native Node Addons (.node / N-API) |
Supported via @electron/rebuild against Electron's ABI headers and asarUnpack |
Only usable inside a separately bundled Node sidecar |
| Rendering Consistency | Identical bundled Chromium across macOS, Windows, and Linux | Uses OS WebView (WKWebView on macOS, Chromium Edge WebView2 on Windows, webkit2gtk on Linux)—requires cross-engine CSS/font testing |
| Installer Size & RAM Overhead | ~85–150 MB installer; Chromium + V8 baseline memory | ~5–25 MB installer (excluding sidecars); lower idle memory when backend is Rust |
| Best Fit | Apps with an existing Node.js server, SQLite/native JS ecosystem, or heavy child-process/CLI orchestration | Apps with a lightweight web frontend + Rust core or self-contained native services |
Dependency & Environment Inventory Checklist
Before building features, map four categories of dependencies:
- Embedded Runtimes & Native Binaries:
- Which shared libraries,
.nodeaddons, SQLite extensions, or helper binaries must ship inside the app bundle? - Which files must be unpacked outside read-only archives (
asarUnpackin Electron orresources/externalBinin Tauri) so the OS kernel candlopenorexecvethem?
- Which shared libraries,
- External User-Installed CLIs (
git,claude,codex,docker, language toolchains):- Never assume an external CLI is installed or authenticated. Build a startup preflight detector that checks binary availability, minimum version, and auth status, and surfaces a clear, actionable UI guide when a prerequisite is missing.
- Target Platforms & CPU Architectures:
- Explicitly list supported targets (
darwin-arm64,darwin-x64/ Universal,win32-x64,win32-arm64,linux-x64) and verify that every native dependency and sidecar binary is built for the target architecture.
- Explicitly list supported targets (
- Filesystem Separation:
- Separate read-only Application Bundle paths (
process.resourcesPath), mutable User Data (AppData/Roaming/~/Library/Application Support), Cache, and Logs from day one.
- Separate read-only Application Bundle paths (
Enthaltene Dateien 1
SKILL.md
