Pitch: Como construi um launcher com 70+ ferramentas usando Tauri 2 e React
Como construi um launcher com 70+ ferramentas usando Tauri 2 e React
Nos ultimos meses construi um launcher para Windows chamado Bely. Quero compartilhar algumas decisoes tecnicas e desafios que encontrei, caso seja util para alguem.
O problema
Como dev, eu vivia alternando entre apps pequenos: um para formatar JSON, outro para checar portas, outro para gerar UUID, outro para converter cores. Queria unificar tudo em um unico atalho (Alt+Space).
Por que Tauri e nao Electron
A primeira decisao foi o framework. Testei Electron mas o bundle ficava em 150MB+ e o consumo de RAM era alto demais para um app que fica sempre aberto. Com Tauri 2, o exe final tem ~5MB e consome ~30MB de RAM.
O tradeoff e que features de sistema (hotkeys globais, clipboard, file watcher) precisam ser escritas em Rust. Isso aumentou a complexidade mas o resultado em performance compensou.
Arquitetura
app/ -> Tauri 2 + React 18 + Tailwind 4 + Zustand
server/ -> Elysia + Drizzle ORM + PostgreSQL
installer/ -> Custom self-extracting exe (Tauri + React)
Algumas coisas que aprendi no caminho:
Global keyboard hook no Windows -- para o text expander funcionar em qualquer app, precisei usar WH_KEYBOARD_LL via winapi no Rust. E um hook de baixo nivel que intercepta todas as teclas do sistema.
Acrylic/Glassmorphism no Windows -- Tauri exposta as APIs de composicao do Windows (DWM), mas o comportamento muda entre Windows 10 e 11. No 10 o blur e mais sutil, no 11 tem o efeito Mica. Tive que implementar fallbacks.
Custom installer -- em vez de usar o NSIS padrao do Tauri, construi um installer custom que tambem e um app Tauri. Ele faz self-extraction de um payload comprimido com zstd, registra deep links, configura auto-start, e checa/instala WebView2 se necessario.
Streaming via SSE -- o backend faz proxy de requests de chat com streaming usando Server-Sent Events. Cada request controla creditos por usuario e loga consumo de tokens para billing.
Numeros atuais
- 70+ ferramentas built-in (dev tools, produtividade, utilidades)
- 3 idiomas (PT-BR, EN, ES)
- ~5MB o instalador
- ~30MB de RAM em uso
Status
O projeto esta em beta privado. Se alguem quiser testar: https://bely.my
Aceito feedback e sugestoes -- especialmente de quem usa Windows como ambiente principal de dev.
Fonte: https://bely.my