Muitas apps de Mac estão a ser construídas com Electron

Muitos utilizadores de Mac estão frustrados porque apps de desktop populares como Slack, WhatsApp e Teams são construídas com Electron, argumentando que estes invólucros baseados na web são pesados, demoram a arrancar e desperdiçam RAM em comparação com software nativo do macOS. Outros contrapõem que o Electron reduz drasticamente o custo de desenvolvimento, permite paridade de funcionalidades entre Windows, macOS, Linux e a web, e muitas vezes representa a única forma viável de uma empresa lançar um cliente de desktop. A discussão levanta questões mais amplas sobre se as plataformas devem priorizar eficiência e UX nativa, investir em melhores toolkits multiplataforma, ou aceitar apps cada vez mais centradas na web como o padrão prático.

O Propósito e os Compromissos do Electron

  • Muitos argumentam que o Electron é aceitável ou até essencial: permite apps multiplataforma e versões web com código partilhado, especialmente para startups e empresas financiadas por VC.
  • A formulação comum: escolha dois de três — preço baixo, paridade de funcionalidades, desempenho. Para apps como Slack, Discord, Spotify, WhatsApp, utilizadores e empresas têm, na maior parte, escolhido preço + paridade em vez de desempenho.
  • Outros contrapõem que esta mentalidade de “bom o suficiente” normaliza o excesso e uma UX fraca, forçando os utilizadores a comprar máquinas cada vez mais rápidas para acompanhar.

Desenvolvimento Nativo vs Multiplataforma

  • Apps nativas de Mac são elogiadas por serem mais rápidas, mais leves e mais integradas (BBEdit, iTerm, Transmit, clientes nativos do Telegram).
  • Mas construir e manter apps nativas separadas por plataforma é descrito como muito caro e organizacionalmente complexo; a mudança de plataformas na Apple (Toolbox/Carbon/AppKit/SwiftUI, Objective-C/Swift) piora isto.
  • Toolkit alternativos (Qt, wxWidgets, QML, Avalonia, Flutter, Godot) são mencionados como um “meio-termo”, com alguns a afirmar que podem parecer modernos e ser altamente eficientes, e outros a dizer que ainda “são maus, só menos” do que o Electron.

Desempenho, Uso de Recursos e UX

  • Os relatos variam entre WhatsApp a arrancar em ~1 segundo em Macs recentes e demorar 16 segundos ou vários minutos a sincronizar históricos grandes. Uns culpam a app, outros o hardware ou a configuração.
  • O Electron é criticado pelo overhead de múltiplos processos e pelo elevado uso de RAM/CPU; as contracríticas observam que algumas apps nativas são igualmente pesadas e que o Electron nem sempre é o gargalo.
  • Exemplos: o novo Teams é percebido como extremamente lento; Slack e Outlook são vistos como aceitáveis; Apple Music é criticado como uma app nativa lenta e com bugs, em comparação com o Spotify baseado em Electron.

Separadores do Browser, PWAs e “Use Só a Web”

  • Alguns preferem executar serviços como Slack/WhatsApp em separadores do browser por causa das extensões, do fluxo de trabalho em separadores e para evitar instalações de apps de várias centenas de MB.
  • Outros valorizam apps de desktop pelos ícones no dock, alternância Cmd-Tab, gestão de apps ao nível do sistema operativo, badges e notificações.
  • As PWAs dividem opiniões: o conceito agrada, mas alguns veem-nas como algo que mina ambientes de browser controlados pelo utilizador e que ganha APIs exclusivas. A remoção do suporte a PWA no Firefox é referida com frustração.

Economia e Incentivos de Negócio

  • Vários comentários sublinham que apps Electron muitas vezes “competem com não existir de todo”, especialmente no macOS e Linux.
  • Coordenar equipas nativas em paralelo, manter paridade de funcionalidades e lidar com diferenças entre plataformas é retratado como grande overhead comparado com uma única stack Electron/Web.
  • Alguns sugerem que a Apple poderia atenuar isto tornando Swift/SwiftUI mais multiplataforma, mas duvidam que a Apple o faça.

APIs e Clientes Nativos de Terceiros

  • Uma linha de argumento: os serviços não deviam lançar apps nativas de todo; deviam expor APIs completas e deixar programadores independentes construir clientes nativos.
  • Exemplo histórico: o ecossistema de apps de terceiros do Twitter floresceu antes de ser restringido pela empresa.
  • Objeções: essas apps “wrapper” são aborrecidas, difíceis de monetizar em escala e podem ser prejudicadas quando as plataformas mudam regras de autenticação ou banem clientes não oficiais. Um cliente leve de Slack/Discord descontinuado é citado como vítima tanto da economia como da política da plataforma.

Críticas ao Artigo e à Apple

  • Alguns veem o artigo como “boosterismo” tendencioso de nativo para Mac, especialmente por estar alojado no blogue de uma app só para Mac e comparar um editor de texto local com um mensageiro rico e sincronizado na cloud.
  • Outros acusam a Apple de máquinas caras e com pouca RAM que tornam os utilizadores invulgarmente sensíveis ao excesso, e notam que as próprias apps nativas da Apple (p. ex., Music, Reminders) muitas vezes parecem lentas ou mal construídas.
  • Ainda assim, um subconjunto insiste que a UX nativa é claramente melhor, mesmo que as forças do mercado façam com que muitas apps nunca sejam nativas.