Opublikowano wersję platformy Electron 27.0.0, która oferuje samodzielny framework do tworzenia wieloplatformowych aplikacji użytkowych, oparty na komponentach Chromium, V8 i Node.js. Znacząca zmiana numeracji wersji jest związana z aktualizacją do bazy kodu Chromium 118, platformy Node.js 18.17.1 oraz silnika JavaScript V8 11.8.
Wśród zmian w nowej wersji:
- Domyślnie włączono tryb WaylandWindowDecorations, który umożliwia poprawne zmienianie rozmiaru i przesuwanie okien w środowiskach Wayland opartych na GNOME i Weston, które nie obsługują protokołu XDG Decoration, kiedy uruchamiane są z obsługą Wayland (—ozone-platform=wayland). W środowiskach obsługujących XDG Decoration, takich jak KDE i Sway, tryb WaylandWindowDecorations jest ignorowany.
- Dodano API umożliwiające uwzględnienie systemowych ustawień zarządzających poziomem przejrzystości tła w aplikacjach.
- Dodano wsparcie dla API chrome.scripting, które pozwala wstawiać własny JavaScript i CSS na strony.
- Dodano metody safeStorage.setUsePlainTextEncryption oraz safeStorage.getSelectedStorageBackend.
- Dodano API BrowserWindow.showAllTabs. Do obiektu BrowserWindow dodano właściwość tabbingIdentifier. Częściowo zaimplementowano API chrome.tabs.query.
- Do metod session.downloadURL() oraz webContents.downloadURL() dodano możliwość wysyłania określonych nagłówków HTTP.
- Dodano flagę „—dns-result-order”.
- W systemie Linux dodano wykrywanie ustawień ciemnego motywu za pomocą portalu „xdg settings”.
- API ipcRenderer.sendTo() zostało uznane za przestarzałe, zamiast tego należy używać MessageChannel do interakcji między dwoma renderingami.
- Usunięto metodę webContents.getPrinters, zamiast tego należy używać webContents.getPrintersAsync.
- Usunięto metody systemPreferences.{get,set}AppLevelAppearance oraz systemPreferences.appLevelAppearance; zamieniono je na moduł nativeTheme.
- W metodzie systemPreferences.getColor zaprzestano wsparcia dla wartości alternate-selected-control-text; zamiast tego należy używać selected-content-background.
- W systemPreferences usunięto zdarzenia zmiany schematów kolorów (zamiast inverted-color-scheme-changed i high-contrast-color-scheme-changed należy używać zdarzenia updated z modułu nativeTheme).
- Wsparcie dla macOS 10.13 (High Sierra) oraz macOS 10.14 (Mojave) zostało zakończone.
- Zakończono cykl wsparcia dla Electron 22.x, ostatniej gałęzi z wsparciem dla Windows 7/8/8.1.
Platforma Electron umożliwia tworzenie wszelkiego rodzaju graficznych aplikacji za pomocą technologii przeglądarkowych, których logika działania opiera się na JavaScript, HTML i CSS, a funkcjonalność może być rozszerzona poprzez system dodatków. Deweloperzy mają dostęp do modułów Node.js, a także rozszerzonego API do tworzenia nativnych dialogów, integracji aplikacji, tworzenia menu kontekstowych, integracji z systemem powiadomień, manipulacji oknami oraz interakcji z podsystemami Chromium.
W przeciwieństwie do aplikacji internetowych, aplikacje oparte na Electron są dostarczane w postaci samodzielnych plików wykonywalnych, które nie są związane z przeglądarką. Ponadto, deweloper nie musi martwić się o portowanie aplikacji na różne platformy; Electron zapewnia możliwość kompilacji dla wszystkich systemów obsługiwanych przez Chromium. Electron oferuje również narzędzia do automatycznej dostawy i instalacji aktualizacji (aktualizacje mogą być dostarczane zarówno serwera, jak i bezpośrednio z GitHub).
Wśród programów opartych na platformie Electron warto wyróżnić edytor Atom, klienta pocztowego Mailspring, narzędzie do pracy z Git GitKraken, system blogowy WordPress Desktop, klienta BitTorrent WebTorrent Desktop, a także oficjalne aplikacje do takich serwisów jak Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code i Discord. W katalogu aplikacji Electron znajduje się łącznie 744 aplikacji. W celu ułatwienia tworzenia nowych aplikacji przygotowano zestaw standardowych aplikacji demonstracyjnych, zawierających przykłady kodu do rozwiązania różnych zadań.
Źródło: opennet.ru
