Como Criar um Mini Projeto com Electron.js

Crie aplicativos gráficos para Desktop!


Como Criar um Mini Projeto com Electron.js


Electron (anteriormente conhecido como Atom Shell) é uma estrutura de software gratuita e de código aberto desenvolvida e mantida pela OpenJS Foundation.

O framework é projetado para criar aplicações desktop usando tecnologias web (principalmente HTML, CSS e JavaScript ,embora outras tecnologias como frameworks front-end e WebAssembly sejam possíveis) que são renderizadas usando uma versão do motor do navegador Chromium e um back-end usando o ambiente de execução Node.js.

Ele também usa várias APIs para habilitar funcionalidades como integração nativa com serviços Node.js e um módulo de comunicação entre processos .

Electron foi originalmente construído para Atom e é a principal estrutura GUI por trás de vários projetos de código aberto, incluindo Atom, GitHub Desktop, Light Table, Visual Studio Code, WordPress Desktop e Eclipse Theia.


Dependências

Faça download direto do site dos links abaixo ou use o gerenciador de pacotes do seu sistema operacional.

Exemplo de instalação das dependências no Ubuntu:

sudo apt install nodejs npm

Criando uma Janela básica

Vamos criar um exemplo mais básico possível!

01. Crie uma pasta e entre na mesma:

mkdir myapp
cd myapp

02. Crie um arquivo de nome: package.json:

E insira o conteúdo abaixo:

{
  "name": "Meu Primeiro Projeto Electron",
  "version": "1.0.0",
  "description": "Um exemplo básico de uso!",
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  },
  "author": "Marcos Oliveira",
  "license": "GNU GPLv3"
}

Essa etapa pode ser substituída pelo comando: npm init com edições conforme você desejar!


03. Instale o Electron para ser adicionado ao seu projeto:

npm install --save-dev electron

Note que seu package.json foi alterado e adicionado suporte ao Electron!


04. Crie um arquivo de nome: index.html

E insira o conteúdo abaixo dentro do arquivo:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'">
    <title>Meu Primeiro Projeto com Electron</title>
  </head>
  <body>
    <h1>Meu Primeiro Projeto com Electron</h1>
    <h2>Nós estamos usando as tecnologias(e versões):</h2>
    <ul>
      <li>Node.js: <span id="node-version"></span></li>
      <li>Chromium: <span id="chrome-version"></span></li>
      <li>Electron: <span id="electron-version"></span></li>
    </ul>
  </body>
</html>

05. Crie um arquivo de nome: main.js

E insira o conteúdo abaixo dentro do arquivo:

No exemplo abaixo é criada uma janela com resolução de 1280x720.

const { app, BrowserWindow } = require('electron')
const path = require('node:path')

function createWindow () {
  const win = new BrowserWindow({
    width: 1280,
    height: 720,
    autoHideMenuBar: true, // Esconde a Barra de Menu: File, ...
    webPreferences: {
      preload: path.join(__dirname, 'preload.js')
    }
  })

  win.loadFile('index.html')
}

app.whenReady().then(() => {
  createWindow()

  app.on('activate', () => {
    if (BrowserWindow.getAllWindows().length === 0) {
      createWindow()
    }
  })
})

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit()
  }
})

06. Crie o arquivo preload.js

E insira o conteúdo abaixo dentro do arquivo:

window.addEventListener('DOMContentLoaded', () => {
  const replaceText = (selector, text) => {
    const element = document.getElementById(selector)
    if (element) element.innerText = text
  }

  for (const type of ['chrome', 'node', 'electron']) {
    replaceText(`${type}-version`, process.versions[type])
  }
})

07. Agora é só rodar o projeto

Quando abrir a janela você pode até acessar o console com: Ctrl + Shift + i.

npm start

Exemplo do App que criamos rodando na imagem abaixo:

My App Electron

Clique na imagem para ver em uma resolução maior!


Para mais informações acesse:


javascript desktop


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!