verze platformy , která poskytuje samostatný rámec pro vývoj multiplatformních uživatelských aplikací, využívající komponenty Chromium, V8 a Node.js. Významná změna čísla verze souvisí s aktualizací na kódovou základnu , platforma a JavaScript engine V8 7.3. Dříve the discontinuation of support for 32-bit Linux systems has been postponed, and the release
5.0 včetně in 32-bit builds.
Mezi v API specifickém pro Electron:
- Byl pokračován překlad asynchronních zpracovatelů, dříve používajících callbacky, do formy založené na mechanismu . Podpora Promise byla přidána do Cookies API a do metod app.getFileIcon, contentTracing.[getCategories| startRecording| stopRecording], debugger.sendCommand,
shell.openExternal, webContents.[loadFile| loadURL| zoomLevel| zoomFactor] a win.capturePage; - Byla přidána možnost získat informace o systémových barvách v
macOS, pomocí volání systemPreferences.getAccentColor,
systemPreferences.getColor a systemPreferences.getSystemColor; - Byla přidána funkce process.getProcessMemoryInfo, která poskytuje statistiky o spotřebě paměti aktuálním procesem;
- Do modulu ‚remote‘, představujícího IPC mechanismus pro interakci mezi procesem vykreslování aktuální stránky a hlavním procesem, byly přidány další možnosti filtrování externích požadavků pro získání plné kontroly nad IPC. Podpora filtrů byla přidána pro volání remote.getBuiltin, remote.getCurrentWindow, remote.getCurrentWebContents a webview.getWebContents;
- Byla přidána možnost řídit více instancí BrowserViews z jednoho objektu BrowserWindow;
- Ve zabalovaných aplikacích bylo zajištěno přidání výchozího menu aplikace, i když aplikace tuto nabídku výslovně nedefinuje a nepřidává obslužný program pro událost zavření okna;
- Smíšený režim práce sandboxu, ve kterém je proces vykreslování spuštěn v sandboxu, je aktivován jako výchozí;
- Byla přidána proměnná prostředí ‚ELECTRON_DISABLE_SANDBOX‘ pro vypnutí izolace sandboxu, například pokud je aplikace spuštěna v kontejneru na bázi Docker;
- Pro zvýšení bezpečnosti jsou ve výchozím nastavení vypnuty nastavení nodeIntegration a webviewTag;
- API pro kontrolu pravopisu (Spellchecker) bylo převedeno na neblokující režim, ve kterém se výsledek kontroly vrací asynchronously;
- Byly označeny jako zastaralé a budou odstraněny v příštím vydání:
spustitelné soubory mksnapshot pro arm a arm64, ServiceWorker v WebContents, volání webFrame.setIsolated*, možnost přímého volání modulů electron.screen,
child_process,
fs,
os a path (nyní je nutné volat přes remote.require s použitím obslužného programu v izolovaném WebContents).
Připomínáme, že Electron umožňuje vytvářet jakékoli grafické aplikace pomocí webových technologií, jejichž logika je definována v JavaScriptu, HTML a CSS, přičemž funkcionalitu lze rozšiřovat prostřednictvím systému pluginů. Vývojářům jsou k dispozici moduly Node.js a také rozšířené API pro vytváření nativních dialogů, integraci aplikací, vytváření kontextových nabídek, integraci se systémem upozornění, manipulaci s okny a interakci se subsystémy Chromium.
Na rozdíl od webových aplikací, programy založené na Electronu se dodávají jako samostatné spustitelné soubory, které nejsou vázány na prohlížeč. Vývojář se tak nemusí starat o portaci aplikace na různé platformy, Electron zajistí možnost sestavení pro všechny systémy podporované v Chromu. Electron také poskytuje pro organizaci automatického dodávání a instalace aktualizací (aktualizace lze dodávat buď z jednotlivého serveru, nebo přímo z GitHubu).
Mezi aplikacemi postavenými na platformě Electron vyniká editor , poštovní klient , nástroj pro práci s Gitem , systém analýzy a vizualizace SQL dotazů , systém pro správu blogů WordPress Desktop, BitTorrent klient , stejně jako oficiální klienti pro služby jako Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code a Discord. V katalogu aplikací Electron 760 aplikací. Pro usnadnění vývoje nových aplikací byl připraven soubor vzorů , které obsahují příklady kódu pro řešení různých úloh.
Zdroj: opennet.ru
