Nová verze platformy Electron 5.0.0 je již mezi námi, qPoskytuje soběstačný rámec pro vývoj aplikací pro více uživatelů pomocí komponent Chromium, V8 a Node.js.
Tato významná změna čísla verze je způsobena aktualizací kódové základny Chromium 73, na platformu Node.js 12 a JavaScriptový engine V8 7.3. Dříve očekávané pozastavení podpory pro 32bitové systémy Linux bylo prozatím odloženo a verze 5.0 je k dispozici také ve 32bitových verzích.
O společnosti Electron
Pro ty, kteří stále nevědí Elektron, měli by to vědět tento rámec umožňuje vytvářet libovolné grafické aplikace pomocí technologií prohlížeče, jehož logika je definována v JavaScriptu, HTML a CSS a funkčnost lze rozšířit prostřednictvím doprovodného systému.
Vývojáři mají přístup k modulům Node.js a také k pokročilému API generovat nativní dialogy, integrovat aplikace, vytvářet kontextové nabídky, integrovat se systémem, zobrazovat oznámení, manipulovat s okny a komunikovat se subsystémy Chromium.
Na rozdíl od webových aplikací jsou programy založené na elektronech dodávány jako samostatné spustitelné soubory, které nejsou propojeny s prohlížečem.
V tomto případě vývojář se nemusí starat o portování aplikace pro různé platformy, Electron poskytne možnost kompilace pro všechny systémy kompatibilní s chromem.
Electron také poskytuje nástroje pro organizaci automatického doručování a instalace aktualizací (aktualizace lze doručovat ze samostatného serveru nebo přímo z GitHubu).
Z programů vytvořených na platformě Electron můžeme zmínit editor Atom, e-mailového klienta nylas, nástroje pro práci s GitKraken, vizualizační a analytický systém dotazů Wagon SQL, blogovací systém WordPress Desktop, klient WebTorrent Desktop BitTorrent.
A také oficiální klienti služeb jako např Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code a Discord.
Co je nového v Electron 5.0.0?
Jak bylo uvedeno na začátku, toto nové vydání Electron 5.0.0 nadále podporuje 32bitové systémy který již dříve oznámil ukončení z předchozích verzí (můžete si o něm přečíst článek Na následujícím odkazu).
zatímco v tomto vydání vývojáři prohlásili za zastaralé a bude odstraněn v příští verzi: spustitelné soubory mksnapshot pro arm a arm64, ServiceWorker ve WebContents, volání webFrame.setIsolated *, možnost přímého volání modulů electron.screen, child_process, fs, os a path (nyní musíte volat na dálku pomocí ovladače v izolovaném webovém obsahu).
Pokud jde o novinky Electron 5.0.0, můžeme zdůraznit přidána proměnná prostředí "ELECTRON_DISABLE_SANDBOX" zakázat izolaci izolovaného prostoru, například pokud je aplikace již spuštěna v kontejneru založeném na Dockeru;
Pro větší zabezpečení jsou nastavení nodeIntegration a webviewTag ve výchozím nastavení zakázána.
API kontroly pravopisu je přepnuto do neblokujícího provozního režimu, ve kterém je výsledek kontroly vrácen v asynchronním režimu.
V zabalených aplikacích je k dispozici přidání výchozí nabídky aplikace, i když aplikace tuto nabídku výslovně nedefinuje nebo nepřidává obslužnou rutinu události zavření okna.
API pokračuje v překladu asynchronních obslužných rutin, které dříve používaly zpětné volání do formuláře založeného na mechanismu Promise.
Rovněž Do API Cookies a v aplikaci getFileIcon byla přidána podpora Promise, Metody ContentTracing. [GetCategories | startRecording | stopRecording], debugger.sendCommand, shell.openExternal, webContents. [loadFile | loadURL | zoomLevel | zoomFactor] a win.capturePage.
Další změny
Mezi další hlavní změny v této verzi patří:
- Schopnost získat informace o systémových barvách v systému macOS pomocí systemPreferences.getAccentColor, systemPreferences.getColor a systemPreferences.getSystemColor.
- Funkce process.getProcessMemoryInfo, která poskytuje statistiky o spotřebě paměti aktuálním procesem.
- V modulu „vzdálený“, který představuje mechanismus IPC pro interakci mezi aktuálním procesem kreslení stránky a hlavním procesem, byly přidány další funkce k filtrování externích požadavků na úplnou kontrolu nad přístupem k IPC.
- Přidaná podpora filtrů pro remote.getBuiltin, remote.getCurrentWindow, remote.getCurrentWebContents a webview.getWebContents.
- Přidána možnost spravovat více instancí BrowserViews z jednoho objektu BrowserWindow.