Foi publicado o release da plataforma Electron 27.0.0, que fornece um framework autossuficiente para o desenvolvimento de aplicações desktop multiplataforma, utilizando como base os componentes Chromium, V8 e Node.js. A alteração significativa do número da versão está relacionada à atualização para a base de código do Chromium 118, da plataforma Node.js 18.17.1 e do motor JavaScript V8 11.8.
Entre as mudanças na nova versão:
- O modo WaylandWindowDecorations agora está habilitado por padrão, permitindo redimensionar e mover janelas corretamente em ambientes Wayland baseados em GNOME e Weston ao iniciar com suporte a Wayland (—ozone-platform=wayland), onde o protocolo XDG Decoration não é suportado. Em ambientes que suportam XDG Decoration, como KDE e Sway, o modo WaylandWindowDecorations é ignorado.
- Foi adicionado um API para considerar as configurações do sistema que controlam o nível de transparência do fundo nas aplicações.
- Foi adicionada a suporte ao API chrome.scripting, que permite inserir seu próprio JavaScript e CSS nas páginas.
- Foram adicionados os métodos safeStorage.setUsePlainTextEncryption e safeStorage.getSelectedStorageBackend.
- Foi adicionado o API BrowserWindow.showAllTabs. A propriedade tabbingIdentifier foi adicionada ao objeto BrowserWindow. O API chrome.tabs.query foi parcialmente implementado.
- Foi adicionada a capacidade de enviar determinados cabeçalhos HTTP para os métodos session.downloadURL() e webContents.downloadURL().
- Foi adicionado o sinalizador '—dns-result-order'.
- No Linux, a detecção de configurações de tema escuro foi implementada através do portal 'xdg settings'.
- O API ipcRenderer.sendTo() foi marcado como obsoleto, devendo ser utilizado o MessageChannel para interação entre dois renders.
- O método webContents.getPrinters foi removido, devendo ser utilizado webContents.getPrintersAsync.
- Os métodos systemPreferences.{get,set}AppLevelAppearance e systemPreferences.appLevelAppearance foram removidos, sendo substituídos pelo módulo nativeTheme.
- No método systemPreferences.getColor, o suporte ao valor alternate-selected-control-text foi encerrado, devendo ser utilizado selected-content-background.
- Eventos de mudança de esquemas de cores foram removidos de systemPreferences (em vez de inverted-color-scheme-changed e high-contrast-color-scheme-changed, deve-se usar o evento updated do módulo nativeTheme).
- O suporte para macOS 10.13 (High Sierra) e macOS 10.14 (Mojave) foi encerrado.
- O ciclo de manutenção do Electron 22.x foi finalizado, sendo essa a última série com suporte ao Windows 7/8/8.1.
A plataforma Electron permite a criação de qualquer aplicativo gráfico utilizando tecnologias web, cuja lógica de operação é definida em JavaScript, HTML e CSS, e cuja funcionalidade pode ser expandida através de um sistema de plugins. Os desenvolvedores têm acesso a módulos Node.js, bem como a uma API expandida para formação de diálogos nativos, integração de aplicativos, criação de menus contextuais, integração com o sistema de notificações, manipulação de janelas e interação com subsistemas do Chromium.
Ao contrário dos aplicativos da web, os programas baseados em Electron são fornecidos na forma de arquivos executáveis autossuficientes, não vinculados a um navegador. Assim, o desenvolvedor não precisa se preocupar em portar o aplicativo para diferentes plataformas; o Electron oferece a possibilidade de compilar para todos os sistemas suportados no Chromium. O Electron também fornece ferramentas para organizar a entrega e instalação automáticas de atualizações (as atualizações podem ser entregues tanto de um servidor separado servidor, quanto diretamente do GitHub).
Entre os programas baseados na plataforma Electron, destacam-se o editor Atom, o cliente de e-mail Mailspring, a ferramenta para trabalhar com Git GitKraken, o sistema de blogs WordPress Desktop, o cliente BitTorrent WebTorrent Desktop, além dos clientes oficiais para serviços como Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code e Discord. No total, o catálogo de programas Electron apresenta 744 aplicativos. Para facilitar o desenvolvimento de novos aplicativos, foi preparado um conjunto de aplicativos de demonstração típicos, incluindo exemplos de código para resolver várias tarefas.
Fonte: opennet.ru
