electron/docs-translations/pt-BR/api/synopsis.md
2016-10-04 09:37:18 -03:00

2.6 KiB

Sinopse

Como utilizar Node.js e a API do Electron.

Todos os módulos built-in do Node.js estão disponíveis no Electron e os módulos de terceiros do node também têm suporte completo (inclusos os módulos nativos).

O Electron também fornece alguns módulos built-in para desenvolvimento nativo para aplicações desktop. Alguns módulos estão disponíveis somente no processo principal, outros somente no processo de renderização (página web), e outros em ambos processos.

A regra básica é: se um módulo é GUI ou de baixo nível, então deve estar disponível somente no módulo principal. Você tem de se familiarizar com o conceito de processo principal vs. processo de renderização para estar apto a usar esses módulos.

O script do processo principal é como um script normal em Node.js:

const {app, BrowserWindow} = require('electron')
let win = null

app.on('ready', () => {
  win = new BrowserWindow({width: 800, height: 600})
  win.loadURL('https://github.com')
})

O processo renderizador não é diferente de uma página web comum, exceto pela possiblidade de usar módulos node:

<!DOCTYPE html>
<html>
<body>
<script>
  const {app} = require('electron').remote
  console.log(app.getVersion())
</script>
</body>
</html>

Para rodar sua app, leia Rodando sua app.

Atribuição de desestruturação

Assim como 0.37, você pode utilizar atribuição de desestruturação para facilitar o uso dos módulos built-in.

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

let win

app.on('ready', () => {
  win = new BrowserWindow()
  win.loadURL('https://github.com')
})

Se você precisar de todo o módulo electron, você pode fazer a chamada e usar a desestruturação para acessar os módulos individuais.

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

let win

app.on('ready', () => {
  win = new BrowserWindow()
  win.loadURL('https://github.com')
})

É equivalente ao seguinte código:

const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow
let win

app.on('ready', () => {
  win = new BrowserWindow()
  win.loadURL('https://github.com')
})