O que são aplicativos de elétrons e por que se tornaram tão comuns?

Você notou muitos novos aplicativos de desktop se parecem muito com sites? Não é sua imaginação.

Do Trello ao Slack, do WordPress.com ao Github, é cada vez mais comum que os chamados aplicativos de desktop agrupem um site com alguns recursos nativos, como notificações, acesso ao sistema de arquivos e menus. A tecnologia mais comum que permite isso é chamada Electron , e é usada por alguns aplicativos que você pode nem suspeitar, como o aplicativo de bate-papo Discord e o Visual Studio Code da Microsoft .

O Electron torna mais fácil para os desenvolvedores lançar um aplicativo simultaneamente no Windows, macOS e Linux, mas há desvantagens para os usuários. As aplicações de elétrons são enormes, para começar. Slack, um aplicativo de bate-papo, ocupa 237 MB de espaço no disco rígido do meu Mac, e o consumo de memória também não é baixo. O que está consumindo todos esses recursos? E por que os desenvolvedores estão usando algo tão ineficiente?

Apps de elétrons são muito fáceis de fazer

Os aplicativos de desktop são difíceis de fazer, especialmente se você quiser que sejam multiplataforma. O acesso ao sistema de arquivos funciona de maneira diferente no Windows do que no Linux, por exemplo, e as notificações funcionam de forma diferente no macOS e no Windows. Isso significa que qualquer pessoa que queira escrever um aplicativo para todos os três sistemas operacionais de desktop (ou mesmo dois deles) precisa reescrever muito de seu código ao portar de um para outro.

Recomendado:  Como redimensionar uma camada no Adobe Photoshop

O Electron “resolve” isso oferecendo uma plataforma única que funciona nos três principais sistemas operacionais de desktop. Isso significa que os desenvolvedores podem escrever o código para coisas como notificações uma vez e esperar que funcione nativamente em todos os sistemas operacionais. Ainda melhor para desenvolvedores: tudo pode ser construído usando Javascript, HTML e CSS – tecnologias com as quais qualquer um que codifique para a web está familiarizado.

Os aplicativos de elétrons vêm com quase todo o Chromium

Como isso é possível? Em parte porque cada aplicativo Electron inclui um navegador da web completo: Chromium, a versão de código aberto do Google Chrome . Isso é fornecido junto com as instruções específicas da plataforma para garantir que tudo se comporte exatamente como os desenvolvedores esperam em todos os sistemas. É por isso que a versão desktop do Slack ocupa mais de 200 MB de espaço no disco rígido: a maior parte do Chrome está incluída nele.

Cada aplicativo Electron que você executa é mais ou menos uma instância completa do Chrome. Como o blogueiro Joseph Gentle apontou , isso dificilmente é ideal:

Você pode pensar no Slack como um pequeno programa javascript rodando dentro de outro sistema operacional VM (cromo), que você tem que rodar para basicamente bater um papo no IRC. Mesmo se você tiver o cromo real aberto, cada aplicativo de elétrons executa sua própria cópia extra de toda a VM.

Então, sim, existem desvantagens para os usuários. Em primeiro lugar, cada aplicativo Electron que você baixa agrupa a maior parte do Chromium, e cada aplicativo que você executa está executando uma boa parte desse código. Não há compartilhamento de recursos aqui como há com aplicativos nativos, o que significa que os aplicativos Electron vão ocupar mais espaço no disco rígido e memória do que um aplicativo desenvolvido com sua plataforma especificamente em mente. Se o desempenho é algo de que você realmente se preocupa, convém evitar as aplicações do Electron.

Recomendado:  O que é um erro 400 Bad Request (e como posso corrigi-lo)?

Espere, então o elétron é bom ou ruim?

Nesse ponto, os computadores são tão poderosos que a maioria dos usuários nem mesmo perceberá como os aplicativos Electron são ineficientes. Na verdade, a grande maioria nunca ouviu falar do Electron. A maioria dos meus colegas de trabalho não tinha, e todos usam o Slack todos os dias. Muitos ficaram entusiasmados com o lançamento de uma versão desktop do Trello e, novamente, não tinham ideia de que era um aplicativo Electron.

E esses aplicativos realmente se integram melhor ao seu sistema operacional do que os sites. Eles vivem em sua própria janela. Eles oferecem ótimos atalhos de teclado, notificações nativas e outras coisas que você não pode fazer da mesma forma com apenas um navegador.

E é uma boa aposta que aplicativos como Slack, Trello e WordPress.com não se importariam em oferecer uma versão para desktop se o Electron não existisse, focando em versões para celular e navegador. Portanto, a questão não é se Electron é ruim; é se as aplicações do Electron são melhores do que nada. Estou disposto a dizer sim, mas pessoas razoáveis ​​podem discordar. (E, para essas pessoas, sempre há a versão da web.)