Desktop Nativo — Viabilidade & Recomendação
Spike de pesquisa. Compara Electron (atual) vs Tauri 2 vs React Native macOS vs SwiftUI, pontuados em: leveza, visual nativo, Mac App Store (MAS) e segurança. Sem compromisso de migração — decisão do founder.
Descobertas-chave
- Mac App Store é inviável no Electron hoje: 3 entitlements do build atual (
disable-library-validation,allow-unsigned-executable-memory,allow-dyld-environment-variables) são bloqueados pelo sandbox da MAS. Resolver exigiria uma reestruturação de vários anos (escala do VS Code). - Claude Agent SDK é só JS: é um bloqueador transversal para qualquer backend não-Electron — mitigado com um sidecar Node.js em todas as alternativas.
- O terminal/PTY, better-sqlite3 e o mirror/WS são as capacidades que precisam sobreviver a qualquer migração.
Recomendação
Curto prazo: otimizações no próprio Electron (lazy-loading no main, startup) — sem troca de framework.
Médio prazo (6–18 meses) — CAMINHO RECOMENDADO: Tauri 2. Melhor retorno ajustado a risco: mantém todo o frontend React/TS inalterado, entrega 4–6× menos memória e viabiliza a MAS, e usa Rust (bom para PTY/SQLite/WS). O sidecar Node resolve o bloqueio do Claude Agent SDK.
Longo prazo (18–36+ meses) — opcional: SwiftUI só se (a) MAS for requisito duro, (b) o time adquirir expertise em Swift e (c) cross-platform deixar de ser necessário.
Não seguir RN macOS — pontua abaixo do Tauri, custo comparável e adiciona um problema de emulador de terminal que nem Electron nem Tauri têm.
Migração Tauri 2 — faseada (renderer inalterado)
- Fase 0 (2 sem): PoC do sidecar — confirmar Claude Agent SDK + MCP embarcado rodando como sidecars Node geridos pelo Tauri (maior incógnita/risco).
- Fase 1 (4–6 sem): esqueleto do backend Rust — startup do main, barramento IPC, gestão de janelas (PTY ainda stubbed).
- Fase 2 (6–8 sem): portar o PtyManager/detectores para Rust (portable-pty).
- Fases seguintes: SQLite, mirror/WS, empacotamento MAS.
Segurança (4º critério)
O caminho nativo/MAS fortalece a história de token device-bound (missão em andamento): sandbox como fronteira real, acesso a Secure Enclave/Keychain e atestação de app — extração de token/chave fica substancialmente mais difícil que no Electron atual. Detalhes no doc técnico completo do repositório (docs/spikes/native-desktop-feasibility.html).
Precisa da sua aprovação antes de qualquer migração. Recomendação: aprovar a Fase 0 (PoC do sidecar, 2 semanas) como próximo passo de baixo custo para validar a maior incógnita.