stamatios
← Voltar ao feed
Ícone em formato de coelho saltando de caixa de software gigante, metáfora dos apps mínimos do Electrobun 2.0
Dev & Engenharia

Electrobun 2.0 cria apps desktop multiplataforma de até 1,28 MiB

resumo de ~3 min

O que é o Electrobun 2.0

O Electrobun é um framework open source para criar aplicativos desktop multiplataforma com foco em tamanho reduzido e velocidade. A versão 2.0 foi lançada, com post dedicado ao lançamento. A promessa central: um "hello world" pesa cerca de 1 megabyte - não centenas de megabytes, como ocorre com ferramentas tradicionais.

Tamanhos em comparação

Segundo os números publicados (download comprimido do hello world em macOS ARM64, com renderer de webview do sistema):

  • Electrobun com processo main nativo: 1,28 MiB
  • Electrobun com Cottontail: cerca de 15 MiB
  • App típico em Electron: cerca de 85 MiB

Novidades da 2.0

  • Warren: framework de reatividade fina inspirado no SolidJS, que pode ser executado no processo Cottontail ou Bun para escrever diretamente em superfícies nativas de GPU (em janelas standalone ou compostas nos webviews) - ou rodar dentro do próprio webview para dirigir a reatividade da interface web. É marcado como experimental.
  • Hutch: uma única CLI que cobre pacotes, scripts, bundling, toolchains fixados e releases, substituindo npm, Bun e a antiga CLI do Electrobun. A instalação também é feita via Hutch, com scripts para macOS/Linux e Windows PowerShell.
  • Cottontail: runtime próprio de TypeScript construído em Zig sobre JavaScriptCore, compatível com Node.js e Bun "onde importa", e menor que ambos.
  • Seis processos main: TypeScript por padrão, com opção de Zig, Rust, Go ou Odin quando se deseja desempenho compilado - mesmo núcleo, mesma ferramenta de build e mesmo empacotamento. A documentação mostra exemplos de criação de janela e webview em cada uma dessas linguagens.
  • Init interativo: hutch electrobun init abre um seletor de templates navegável por teclado, com 30 starters.

Recursos já incluídos

  • Atualizações diferenciais: o zig-bsdiff embutido permite updates de até 4 KB; o desenvolvedor traz o próprio host (S3, R2 ou servidor de arquivos estáticos), sem servidor de updates, com fallback de download completo.
  • Bundles autoextraíveis em Zstd: os releases vêm como pacotes compactados em Zstandard que verificam, extraem e executam na primeira execução.
  • Assinatura de código nativa: assinatura e notarização fazem parte do build de release - DMG no macOS, executável de setup no Windows e instalador autoextraível no Linux.
  • Adaptadores para three.js e Babylon: permitem controlar janelas e superfícies nativas de GPU compostas nos webviews a partir de Cottontail ou Bun.
  • CEF opcional: por padrão, webviews do sistema mantêm os apps pequenos; é possível empacotar um Chromium fixado quando se quer o mesmo motor em todas as plataformas.
  • Canais canary e produção: dois canais de release independentes, para distribuir builds de pré-lançamento a testadores junto com o app de produção.

Templates

Os 30 templates se dividem em três grupos: starters de frameworks web (React, Solid, Svelte, Vue, Angular, Vanilla, Tailwind, com Vite), esqueletos de aplicativos (navegador multigabia, multi-janela, app de notas, CRUD com SQLite, photo booth, tray app) e projetos de GPU/nativa (várias simulações com WGPU em Zig, Rust, Go e Odin, além de adaptadores three.js, Babylon e templates experimentais de UI Warren renderizada em GPU sem webview).

Uso interno

A empresa por trás afirma usar o próprio framework: o Dash, seu produto desktop, é construído ponta a ponta sobre o Electrobun 2.0 - Hutch faz o build, Cottontail o executa, Warren renderiza partes da interface e as atualizações são enviadas como diffs binários.

A conclusão do material é um convite à adoção: instalar via Hutch e iniciar um projeto com hutch electrobun init, com documentação, GitHub e Discord indicados.