Nova verzija platforme Electron 5.0.0 već je među nama, qPruža samodostatan okvir za razvoj višekorisničkih aplikacija, koristeći komponente Chromium, V8 i Node.js.
Ova značajna promjena u broju verzije posljedica je ažuriranja baze koda Chromium 73, na platformu Node.js 12 i JavaScript motor V8 7.3. Ranije očekivana obustava podrške za 32-bitne Linux sustave za sada je odgođena, a verzija 5.0 dostupna je i u 32-bitnim verzijama.
O Electronu
Za one koji još uvijek ne znaju Elektron, to bi trebali znati ovaj vam okvir omogućuje stvaranje bilo kojeg grafičkog programa pomoću tehnologija preglednika, čija je logika definirana u JavaScript-u, HTML-u i CSS-u, a funkcionalnost se može proširiti kroz prateći sustav.
Programeri imaju pristup modulima Node.js, kao i naprednom API-ju za generiranje izvornih dijaloških okvira, integriranje aplikacija, stvaranje kontekstnih izbornika, integracija sa sustavom za prikaz obavijesti, manipuliranje prozorima i interakciju s Chromiumovim podsustavima.
Za razliku od web aplikacija, programi temeljeni na Electronu isporučuju se kao zasebne izvršne datoteke koje nisu povezane s preglednikom.
U ovom slučaju programer ne mora brinuti o prenošenju aplikacije za razne platforme, Electron će pružiti mogućnost kompajliranja za sve sustave kompatibilne s Chromiumom.
Electron također nudi alate za organizaciju automatske isporuke i instalacije ažuriranja (ažuriranja se mogu isporučiti s zasebnog poslužitelja ili izravno s GitHub-a).
Od programa stvorenih na osnovi platforme Electron možemo spomenuti Atom editor, klijent e-pošte nylas, alati za rad GitKraken, sustav za vizualizaciju i analizu upita Wagon SQL, sustav za bloganje WordPress Desktop, klijent WebTorrent radna površina BitTorrent.
I također službeni klijenti usluga poput Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code i Discord.
Što je novo u Electronu 5.0.0?
Kao što je spomenuto na početku, ovo novo izdanje Electron 5.0.0 i dalje podržava 32-bitne sustave koji je prethodno najavio prekid rada s prošlih verzija (možete pročitati članak o tome U sljedećem linku).
Dok u ovom izdanju programeri su proglasili zastarjelima i uklonit će se u sljedećoj verziji: mksnapshot izvršne datoteke za arm i arm64, ServiceWorker u WebContents, pozivi na webFrame.setIsolated *, mogućnost izravnog poziva modula electron.screen, child_process, fs, os i path (sada morate nazvati daljinskim putem pomoću kontrolera u izoliranom web sadržaju).
Što se tiče noviteta Electrona 5.0.0 možemo istaknuti dodana je varijabla okoline "ELECTRON_DISABLE_SANDBOX" onemogućiti izolaciju pješčanika, na primjer, ako se aplikacija već izvodi u spremniku temeljenom na Dockeru;
Za dodatnu sigurnost postavke nodeIntegration i webviewTag onemogućene su prema zadanim postavkama.
API provjere pravopisa prebačen je u neblokirajući način rada, u kojem se rezultat provjere vraća u asinkronom načinu.
U pakiranim aplikacijama omogućen je dodatak zadanog izbornika aplikacije, čak i ako aplikacija izričito ne definira ovaj izbornik ili dodaje obrađivač događaja zatvaranja prozora.
API nastavlja prevoditi asinkrone upravljače koji su prethodno koristili pozive povratnog poziva u obrazac zasnovan na mehanizmu Promise.
Također Podrška za Promise dodana je u API za kolačiće i u aplikaciju getFileIcon, ContentTracing metode. [GetCategories | startRecording | stopRecording], debugger.sendCommand, shell.openExternal, webContents. [loadFile | loadURL | zoomLevel | zoomFactor] i win.capturePage.
Ostale promjene
Od ostalih glavnih promjena u ovom izdanju su:
- Mogućnost dobivanja informacija o sistemskim bojama na macOS-u pomoću systemPreferences.getAccentColor, systemPreferences.getColor i systemPreferences.getSystemColor.
- Funkcija process.getProcessMemoryInfo, koja pruža statistiku o potrošnji memorije u trenutnom procesu.
- U "udaljenom" modulu, koji predstavlja IPC mehanizam za interakciju između trenutnog postupka crtanja stranice i glavnog procesa, dodane su dodatne funkcije za filtriranje vanjskih zahtjeva za potpunu kontrolu nad pristupom IPC-u.
- Dodana je podrška za filtre za remote.getBuiltin, remote.getCurrentWindow, remote.getCurrentWebContents i webview.getWebContents.
- Dodana je mogućnost upravljanja višestrukim primjercima BrowserViews iz jednog objekta BrowserWindow.