Electron 24.0.0 já foi lançado e estas são as suas novidades

Elétron

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

Recentemente foi anunciado o lançamento do a nova versão do Electron 24.0.0 que fornece uma estrutura independente para desenvolver aplicativos front-end de plataforma cruzada com base nos componentes Chromium, V8 e Node.js.

A plataforma eletrônica permite que você crie qualquer aplicativo gráfico usando tecnologias de navegador, cuja lógica é definida em JavaScript, HTML e CSS, e a funcionalidade pode ser estendida através 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 eles são entregues como executáveis ​​autônomos que não sã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).

Principais novidades do Electron 24.0.0

Nesta nova versão do Electron 24.0.0 as mudanças mais significativas no número da versão devem-se a atualizações na base de código do Chromium 112, a estrutura Node.js 18.14.0 e o mecanismo V8 JavaScript 11.2.

Em relação às alterações realizadas, destaca-se mudou a lógica de processamento do tamanho da imagem no método nativeImage.createThumbnailFromPath(path, size), onde o parâmetro "maxSize" é substituído por "size" e agora reflete o tamanho real da miniatura criada, não o máximo (ou seja, se o tamanho for menor, a escala será aplicada ).

Outra mudança notável é que os métodos BrowserWindow.setTrafficLightPosition(position) e BrowserWindow.getTrafficLightPosition() foram descontinuados e BrowserWindow.setWindowButtonPosition(position) e BrowserWindow.getWindowButtonPosition() devem ser usados ​​em seu lugar.

Além disso, destaca-se também que corrigiu um problema em que rejeições não tratadas poderiam causar registros duplicados em alguns casos, bem como regiões arrastáveis ​​que não funcionam nas compilações da Mac App Store, um problema com possível duplicação do ícone do dock no macOS e cancelamento de solicitações de bluetooth quando nenhum dispositivo foi retornado.

Das outras mudanças que se destacam nesta nova versão:

  • No método cookies.get(), foi adicionada a capacidade de filtrar Cookies no modo HttpOnly.
  • O parâmetro logUsage foi adicionado ao método shell.openExternal().
  • webRequest agora tem a capacidade de filtrar solicitações por tipo.
  • Adicionado evento devtools-open-url ao webContents para abrir uma nova janela.
  • Adicionado o sinalizador enableLocalEcho ao manipulador de retorno de chamada ses.setDisplayMediaRequestHandler() para refletir a entrada de áudio externo no fluxo de saída local.
  • Por padrão, o arquivo de configuração inclui uma otimização geral que utiliza as informações obtidas na compilação de todos os módulos.
  • Tipos adicionados ao filtro webRequest
  • Correção de um problema com HTML em tela cheia quando a tela cheia está desativada.
  • WebUSB fixo em macs ARM64.
  • Corrigido resultado incorreto retornado ao usar seguro como filtro de cookie.
  • Correção de um problema em que BroadcastChannel não funcionava corretamente quando contextIsolation:false.
  • Corrigido um problema em que minWidth/minHeight e maxWidth/maxHeight não se aplicavam se o usuário definisse um aspectRatio no macOS.
  • Corrigido um problema em que chamar port.postMessage com MessagePortMain quando alguns parâmetros inválidos poderia causar uma falha.
  • Corrigido um problema em que regiões arrastáveis ​​capturavam cliques incorretamente em janelas emolduradas.
  • Corrigido um problema em que passar hasReply e ações para um processo pai de notificação no macOS faria com que a primeira ação fosse ocultada e indisponível.

Finalmente se você estiver interessado em saber mais sobre isso desta nova versão, você pode verificar os detalhes no link a seguir.

Como obter o Electron no Linux?

Para executar aplicativos e / ou ser capaz de trabalhar com Electron dentro do Linux, Só precisamos ter o Node.JS instalado no sistema e seu gerenciador de pacotes NPM.