Electron 28 lançado com melhorias no suporte ao Wayland, e mais

Electron 28 lançado com melhorias no suporte ao Wayland, e mais
Electron 28 lançado com melhorias no suporte ao Wayland, e mais

E foi o 28 com no suporte ao , e mais. Confira as novidades e veja como instalar no Linux.

O Electron permite que você escreva aplicativos de desktop multiplataforma usando JavaScript, HTML e CSS

A plataforma Electron permite criar qualquer aplicativo gráfico usando tecnologias de navegador, cuja lógica é definida em JavaScript, HTML e CSS, e a funcionalidade pode ser estendida por meio de um sistema de plugins.

Os desenvolvedores têm acesso aos módulos Node.js, bem como a uma API estendida para criar diálogos nativos, integrar aplicativos, criar menus de contexto, integrar-se com o sistema de exibição de notificação, manipular janelas e interagir com subsistemas do Chromium.

Ao contrário dos aplicativos da Web, os programas baseados em Electron são entregues como executáveis ​​autônomos que não estão vinculados a um navegador.

Ao mesmo tempo, o desenvolvedor não precisa se preocupar em portar o aplicativo para várias plataformas, o Electron fornecerá a capacidade de compilar para todos os sistemas com suporte ao Chromium.

O Electron também fornece ferramentas para organizar a entrega e instalação automática de atualizações (as atualizações podem ser entregues de um servidor autônomo ou diretamente do GitHub).

Agora, uma nova versão do foi lançada recentemente, fornecendo uma estrutura independente para o desenvolvimento de aplicativos front-end de plataforma cruzada com base nos componentes Chromium, V8 e Node.js.

Novidades do Electron 28

Electron 28 lançado com melhorias no suporte ao Wayland, e mais
Electron 28 lançado com melhorias no suporte ao Wayland, e mais

A nova versão do Electron 28 já foi lançada e a mudança significativa no número da versão se deve a uma atualização da base de código do Chromium 120, Node.js 18.18.2 e do motor JavaScript V8 12.0, além de algumas mudanças importantes serem implementado, além de adicionar novos recursos, correções de bugs e muito mais.

Sem dúvida, uma das mudanças mais importantes que se destaca nesta versão é a adição de suporte para módulos JavaScript ESM (módulos ECMAScript), construídos de acordo com a especificação ECMAScript 6 e utilizados em aplicações web baseadas em navegador (anteriormente, Electron suportava apenas módulos CommonJS específicos do Node.js).

Os módulos ESM podem ser usados ​​​​tanto no próprio Electron quanto em drivers baseados na API UtilityProcess. Além disso, o suporte para módulos EMS também foi adicionado ao Electron Forge, a ferramenta completa para empacotar e distribuir aplicações Electron.

Outra mudança que se destaca nesta versão do Electron 28 é que no Linux foi implementado o processamento da variável de ambiente ELECTRON_OZONE_PLATFORM_HINT, o que facilita a habilitação do suporte ao protocolo Wayland em aplicações baseadas na plataforma Electron (você pode fazer isso sem adicionando o sinalizador “–ozone-platform-hint” ao arquivo) Melhor desempenho de fork() e execve() na API child_process no Linux.

No MacOS, a nova versão do Electron 28 introduz diversas correções, das quais se destaca a solução para um problema de desempenho, foi corrigida a aplicação que ativava incorretamente as janelas do painel no macOS Sonoma, foi corrigido um problema onde o BrowserWindows poderia travar no macOS com frame:false e roundCorners:false ao entrar em tela cheia e agora o mapeamento de partição foi reativado no macOS.

Além disso, a configuração padrão de WebContents.backgroundThrottling foi alterada para “false”, o que desativa a aceleração da taxa de quadros ao renderizar conteúdo usando o objeto BrowserWindow.

Falando em BrowserWindow, os métodos BrowserWindow.getTrafficLightPosition() e BrowserWindow.setTrafficLightPosition() já foram removidos, que foram inicialmente marcados como obsoletos no Electron 24 e substituídos por BrowserWindow.setWindowButtonPosition e BrowserWindow.getWindowButtonPosition().

Das outras mudanças que se destacam no Electron 28, temos:

  • Adicionada API para ajudar os aplicativos a saber quando evitar fundos semitransparentes.
  • Foram adicionadas diversas propriedades ao objeto de exibição, incluindodetectado ,maximumCursorSize e nativeOrigin.ipcRenderer.sendTo
    foi descontinuado e MessageChannel deve ser usado em seu lugar
  • O suporte para eventos de rolagem e toque foi descontinuado
  • Eventos agregados mouse-entery mouse-leavede bandeja para Windows
  • Adicionada opção generateTaggedPDF para permitir que webContents.printToPDF() gere arquivos PDF marcados
  • Adicionada propriedade tabbbingIdentifier ao BrowserWindow.
  • Adicionado evento de clique do meio do mouse ao ícone da bandeja.
  • Adicionado suporte para várias outras chaves de manifesto de extensão, incluindo host_permissions, autor e short_name.
  • Corrigido um problema em que chrome://gpu não conseguia carregar.
  • Correção da regressão de desempenho de janela opaca no DWM
  • Adicionada capacidade de enviar cabeçalhos HTTP com webContents.downloadURL()
  • Suporte aprimorado para módulos CommonJS em scripts de pré-carregamento em área restrita, passando module.exports fictícios.
  • Corrigido um problema em que aceleradores que representam chaves DOM não eram convertidos corretamente para o formato webContents.sendInputEvent().

Para saber mais sobre essa versão do Electron, acesse a nota de lançamento.

Como instalar ou atualizar o Electron

Para desenvolver com base no Electron nas principais distribuições Linux, consulte o seguinte documento.
Para rodar aplicativos e/ou trabalhar com Electron dentro do Linux, basta ter Node.JS instalado no sistema e seu gerenciador de pacotes NPM.

Para instalar a versão mais recente, basta digitar o seguinte comando:
npm install electron@latest

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.