Uma das preocupações ao desenvolver uma aplicação para desktop é em relação ao sistema operacional no qual ela será executada, já que existem diferenças fundamentais entre eles. O Electron framework oferece uma maneira mais simples de desenvolver aplicações multiplataformas e solucionar este desafio.

Electron permite utilizar todos os recursos de uma aplicação web, como os inúmeros frameworks para JavaScript disponíveis, dentre eles Bootstrap e React. Por isso, vale a pena entender como essa tecnologia funciona.

Para que você conheça os recursos dessa ferramenta, fizemos este post com os seguintes tópicos:

Boa leitura!

O que é o Electron?

O Electron é um framework multiplataforma desenvolvido pelo GitHub. Sua primeira versão foi em 2013 e seu objetivo é permitir a construção de aplicações para desktops com a utilização de tecnologias usadas em desenvolvimento para web, como HTML, CSS e JavaScript.

Para isso, o Electron utiliza o Chromium, que é a versão código aberto do navegador Chrome. A ideia é que a aplicação desenvolvida seja executada sobre ele como se fosse uma aplicação web. Além disso, o Electron também utiliza o Node.js, componente que oferece recursos adicionais para acessar funções internas do sistema operacional, como permitir o acesso a diretórios e arquivos.

Para garantir a segurança dos dispositivos, as aplicações web comuns não conseguem utilizar recursos do sistema operacional. Essa é uma forma de proteger o computador de operações indevidas por sites maliciosos, por exemplo. O Electron, entretanto, permite essa interação. Por conta disso, é uma ferramenta que pode ser utilizada para construir aplicações desktop.

É importante dizer que o Electron permite a geração de um pacote de distribuição, ou seja, toda a aplicação desenvolvida é compilada e transformada em versões para rodar em diferentes sistemas operacionais, entre eles: Windows, Linus e macOS.

Como surgiu o Electron? Conheça a história!

O Electron surgiu em abril de 2013. A criação desse framework é atribuída ao Github, mas especificamente a Cheng Zhao, um engenheiro da equipe. O objetivo base do projeto era criar uma plataforma capaz de reunir tecnologias como HTML, CSS e Javascritpt, em um único editor multi-plataforma. Lá no início, o Electron era chamado por um outro nome: Atom Shell. 

A plataforma se tornou um opensource ainda em maio de 2014, sob a licença MIT. O Electron js é hoje mantido pela OpenJS Foundation, organização que tem por objetivo apoiar projetos opensource baseados em Javascript, como o Electron.

Com o tempo, o Electron foi se popularizando ainda mais. Diversas aplicações conhecidíssimas hoje em dia foram desenvolvidas com Electron, como o Skype, Twitch ou o popular Whatsapp. Você pode ver a lista completa de aplicações desenvolvidas com Electron aqui.

Entenda a arquitetura do Electron!

A arquitetura de um projeto Electron é composta por três estruturas: main process, renderer process e a comunicação entre esses processos. Veja a imagem a seguir:

1. Main process (processo principal)

O Main Process é o arquivo principal, único. Através das instâncias de BrowserWindow, ele consegue criar as janelas da aplicação. Para a definição do Main Process é primeiro criado um arquivo package.json e nele definido o Main Process na propriedade main. 

2. Renderer process (processo de renderização)

 O Renderer Process é feito através do Chromium. Cada janela desktop do Electron, ou seja, cada página web, é renderizada em seu próprio processo. 

3. IPC (Comunicação entre Processos) e RPC (Chamada de Procedimentos Remotos)

O RPC, Remote Procedure Call, ou Chamada de Procedimentos Remotos, em português, é um método. O RPC é usado dentro do conceito de IPC (Comunicação entre Processos), utilizado pelo Electron.

É através de RPC e IPC que é feita a comunicação entre o main process (processo principal) e o renderer process (renderização). Ou seja, entre partes .js e partes .html, fruto já do processo de renderização.

Para comparar esses processos, observe esta tabela:

Para que serve o Electron? 4 Aplicações!

Como dissemos, o Electron é utilizado para desenvolver aplicações para desktops, que tanto podem acessar recursos do computador local, quanto utilizar dados externos com o uso de APIsApplication Programming Interface. Portanto, é uma tecnologia que oferece inúmeras possiblidades de desenvolver diferentes tipos de aplicação. Confira, a seguir, algumas ferramentas que foram desenvolvidas com o Electron.

1. Slack

O Slack é uma ferramenta de chat utilizada por empresas para facilitar a comunicação entre as pessoas. Ela oferece uma série de recursos, como o compartilhamento de arquivos, chamadas de voz e vídeo e muito mais. Além disso, ela permite a integração com diversos aplicativos, como Zoom, Google Drive, entre outros.

2. Visual Studio Code

O Visual Studio Code é um poderoso editor de código, desenvolvido pela Microsoft com código aberto. Ele pode ser utilizado em Windows, Linux e macOS, além de permitir o desenvolvimento de programas em diversas linguagens de programação, como PHP, Ruby, Rust, C e muitas outras.

3. Hyper

O Hyper é uma interface para linhas de comandos para as plataformas Windows, Linux e macOS. Seu objetivo é oferecer uma interface mais bonita e amigável para executar atividades como o acesso a servidores remotos e a execução de comandos diversos. Além disso, ele permite a instalação de temas e plugins, o que torna a ferramenta ainda mais amigável e funcional.

4. Atom.io

O Atom.io é um editor de texto desenvolvido pela GitHub que oferece uma série de recursos, dentre elas a instalação de temas e plugins, os quais

adicionam inúmeras funcionalidades. Uma de suas aplicações é para a edição de código fonte e oferece suporte a diversas linguagens de programação, como JavaScript, Linguagem C, Ruby e muito mais.

Quais as vantagens de usar o Electron?

Existem diversos benefícios em utilizar o Electron framework. Confira alguns deles a seguir.

Permite o desenvolvimento de aplicações multiplataforma

Qualquer aplicação desenvolvida com esse framework será um Electron app multiplataforma. Na prática, não importa se o desenvolvimento for em um ambiente Windows, pois ao criar o pacote de distribuição, podemos indicar a plataforma em que queremos utilizar o sistema.

O Electron é um framework open source

Uma das vantagens de utilizar o Electron é ele ser um framework de código aberto. Isso significa que não é preciso pagar pela licença de uso, o que contribui para a redução de custos com o desenvolvimento. Ele também conta com uma grande comunidade de pessoas desenvolvedoras que auxiliam no desenvolvimento da ferramenta, além de um fórum para trocar experiências e esclarecer dúvidas.

Oferece diferentes formas de distribuição

As aplicações desenvolvidas podem ser compiladas para distribuição em pacotes por meio de diferentes recursos disponíveis, como o electron-package ou electron-builder, e serem instaladas por meio de gerenciadores de pacotes, como o NPM. Além disso, as atualizações do aplicativo também são efetuadas de forma simples e rápida.

Utiliza tecnologia de aplicações web

As aplicações desenvolvidas em Electron utilizam HTML, CSS e JavaScript. Portanto, é possível utilizar muitos recursos dessas ferramentas nas aplicações desktop, além de elas serem mais conhecidas entre as pessoas programadoras. De acordo com a pesquisa da StackOverflow, de 2020, JavaScript é utilizado por 67,7%, enquanto HTML e CSS, por 63,1% das pessoas entrevistadas.

Desenvolve aplicações nativas

Para utilizar as aplicações desenvolvidas em Electron não é preciso abrir um navegador e acessar um site específico. Em vez disso, elas ficam instaladas no computador como um Electron app e podem ser acessadas pela barra de tarefas do Windows ou do sistema em que estiver instalada.

Quais as desvantagens do Electron?

Apesar das inúmeras vantagens, o Electron tem também seus pontos negativos. Primeiro, é pesado. Isto é, demanda um alto uso de memória e armazenamento. Um outro fator está relacionado a segurança

Basicamente, o Electron garante um alto nível de controle da pessoa desenvolvedora, o que pode tornar tudo ainda mais seguro, ou vulnerável, a depender do grau de conhecimento da pessoa em questão. Além disso, devido a relação com o Chromium, quando a execução acontece em uma versão mais antiga dele, podem ser abertas brechas de segurança entre essa versão antiga e o que já foi corrigido na nova, o que pode ser explorado por invasores.

Por último, um incômodo em relação ao Electron é por seu aspecto genérico em apresentação e comportamento. De modo geral, o Electron não permite uma diversidade de experiência visual entre plataformas, ou seja, tende a uma padronização.

Conheça algumas ferramentas para usar com Electron!

A plataforma conta ainda com diversas ferramentas, que facilitam o trabalho da pessoa desenvolvedora. Aqui falaremos sobre algumas delas:

  • Electron: relaciona-se a instalação de binários Electron pré-construídos. Para isso, usa-se npm.
  • Electron compile: permite a compilação em tempo real, ou seja, sem uma pré-compilação. 
  • Electron packager: ferramenta de linha de comando que empacota (zip) arquivos e os distribui. 
  • Devtron: é a extensão oficial DevTools. O Devtron serve para inspecionar, monitorar e depurar a aplicação. Entre seus recursos está a exibição de gráficos, o monitor de IPC, o inspetor de eventos e o App Linter.
  • Spectron: essa ferramenta funciona como plataforma de testes. Para isso, usa o Chrome Driver.

Bibliotecas para usar com Electron: Angular, React, JQuery, entre outros!

Além de tudo, o Electron ainda permite o uso de diversas bibliotecas muito populares, por sua base em Javascript. Essa variedade de bibliotecas proporciona a pessoa desenvolvedora uma multiplicidade de recursos! Angular, React e JQuery são algumas das possibilidades. Sem dúvidas, vale a pena conhecer melhor o React e as principais bibliotecas do Angular.

Como usar o Electron na prática? Confira o passo a passo!

Nada melhor que colocar a mão na massa para ver como o Electron funciona. Por isso, vamos mostrar um guia prático com os passos essenciais para começar a utilizar a ferramenta. 

1. Confira os pré-requisitos para usar o Electron

Precisamos garantir que temos todos os pré-requisitos antes de iniciar a construção da nossa aplicação.

Para que o Electron js funcione, é preciso ter o Node.js instalado no computador. Ele pode ser baixado em versões para Windows, Linux e macOS. A forma de instalação recomendada pelo Electron é adicioná-lo como uma dependência do projeto que será desenvolvido.

2. Tenha clareza sobre a estrutura da aplicação

Para o desenvolvimento com Electron, é preciso ter com clareza a estrutura envolvida. A aplicação Electron é composta por três partes.

  • Package.json: é o elemento que destaca o arquivo principal. Trata-se de uma espécie de repositório das declarações e dependências principais da aplicação.
  • Main.js: é o main process (processo principal). O main.js inicia a aplicação e cria a janela da renderização.
  • Index.html: corresponde ao renderer process (processo de renderização) da aplicação. Index.html é a página web que é renderizada.

3. Inicie o projeto e instale o Electron

Os projetos em Electron devem conter uma estrutura básica, que não é criada automaticamente. Portanto, crie dois arquivos vazios na pasta escolhida para o projeto com os seguintes nomes: main.js e index.html. Agora, vamos iniciar a aplicação e adicionar o Electron como dependência.

Então, digite o seguinte comando:

npm init

O arquivo de configuração em formato JSON, chamado package.json, será adicionado na pasta e será usado para relacionar as dependências utilizadas no projeto. A primeira dependência que vamos incluir é o framework Electron.

Para isso, digite o seguinte comando:

npm install --save-dev electron

Esse comando fará a instalação do Electron na pasta node_modules, que é utilizada para armazenar as dependências do projeto, e adicionará um registro no arquivo package.json para indicar a dependência.

Também devemos alterar o campo scripts para adicionar a indicação para a inicialização do Electron. Portanto, adicione o comando a seguir nesse campo:

"scripts": {
      "start": "electron ."
   },
.

Confira como ficará o arquivo package.json:

Exemplo de arquivo package.json

4. Crie os arquivos da aplicação

O próximo passo é configurar o arquivo main.js para que ele execute o framework Electron JavaScript e aplique as definições indicadas — como o tamanho da janela — além de chamar a página inicial da aplicação.

Confira, a seguir, um exemplo básico de seu conteúdo:

Exemplo de configurar arquivo main.js

O próximo passo é desenvolver o conteúdo do arquivo HTML. Vamos simular uma aplicação que calcula o valor do IMC. Portanto, teremos um formulário com dois campos e um botão para executar o cálculo. A seguir, o resultado será exibido na tela.

Veja o código abaixo:

Exemplo de código HTML no Electron

5. Teste a aplicação

Agora, podemos fazer um teste da aplicação. Para isso, basta digitar o comando a seguir:

npm start

Perceba que será aberta uma janela com a execução da aplicação que escrevemos no código HTML.

6. Crie o pacote de distribuição

Por fim, vamos criar a distribuição do aplicativo. Existem diferentes formas de executar essa tarefa. Uma delas é com a utilização do electron-package, que faz a compilação de todos os arquivos do projeto e gera o arquivo executável.

Entretanto, é preciso primeiro instalar o pacote por meio do seguinte comando:

npm install electron-package --save-dev

A próxima etapa é criar a aplicação, que é feita da seguinte forma:

electron-packager <pasta_da_aplicação> <nome_da_aplicação>

Pronto! O aplicativo foi criado na pasta da aplicação:

Exemplo de aplicativo criado na pasta de aplicação do Electron

Vale dizer que, com esse comando, a versão é criada para o sistema operacional utilizado, que nesse exemplo foi o Windows. Para criar o pacote para outras plataformas, é preciso especificá-las após o parâmetro <nome_da_aplicação>.

O framework Electron é uma poderosa ferramenta para a criação de aplicações para desktops, as quais podem ser distribuídas para diferentes sistemas operacionais. Além de HTML, CSS e JavaScript, também é possível adicionar utilizar outros frameworks para aprimorar ainda mais o desenvolvimento da aplicação, como o Bootstrap, Vue.js e muito mais.

Desenvolvendo aplicações com Electron e Vue.JS!

Com o Electron, é possível ainda desenvolver aplicações desktop a partir do Vue.js, um outro framework Javascript. Umas das maiores vantagens é que dessa forma o Vue.js passa a funcionar em desktop, sendo construída uma só estrutura. Para isso, será necessária a obtenção do Vue CLI Plugin Electron Builder. 

Gostou do nosso conteúdo sobre o que é o Electron framework? Então, confira este post sobre o que é low-code e quais os benefícios dessa metodologia de desenvolvimento!      

Conclusão

Como vimos, o Electron é multiplataforma, prático e versátil, apresentando então diversas vantagens. Agora que você sabe o que é Electron e todas as possibilidades que esse framework opensource oferece, já pode explorar todo o universo do electron js e tornar-se uma pessoa desenvolvedora ainda mais completa! 

Quer continuar se aprimorando? Veja aqui mais 26 ferramentas que, assim como o Electron, toda pessoa desenvolvedoa deve conhecer.

0 Shares:
Deixe um comentário
Você também pode gostar