Release van Electron 5.0.0, het platform voor het maken van applicaties gebaseerd op de Chromium-engine

Voorbereid de release van het platform Electron 5.0.0, dat een zelfstandige framework biedt voor de ontwikkeling van multiplatform gebruikersapplicaties, gebruikmakend van de componenten van Chromium, V8 en Node.js als basis. De significante wijziging van het versienummer is gerelateerd aan de update naar de codebasis Chromium 73, platform Node.js 12 en de JavaScript-engine V8 7.3. Eerdere verwachtte ondersteuning voor 32-bits Linux-systemen is voorlopig uitgesteld en de release
5.0 inclusief beschikbaar is in 32-bits builds.

Onder wijzigingen in API's die specifiek zijn voor Electron:

  • In de API is de transformatie van asynchrone handlers, die voorheen callback-aanroepen gebruikten, voortgezet naar een op het mechanisme gebaseerde vorm Promise. Ondersteuning voor Promise is toegevoegd aan de Cookies API en in de methoden app.getFileIcon, contentTracing.[getCategories| startRecording| stopRecording], debugger.sendCommand,
    shell.openExternal, webContents.[loadFile| loadURL| zoomLevel| zoomFactor] en win.capturePage;
  • De mogelijkheid is toegevoegd om informatie over systeemkleuren te verkrijgen in
    macOS, met behulp van de aanroepen systemPreferences.getAccentColor,
    systemPreferences.getColor en systemPreferences.getSystemColor;
  • Een functie process.getProcessMemoryInfo is toegevoegd, die statistieken over het geheugenverbruik van het huidige proces biedt;
  • In de module 'remote', die het IPC-mechanisme vertegenwoordigt voor de interactie tussen het renderproces van de huidige pagina en het hoofdproces, zijn extra mogelijkheden voor filtering van externe verzoeken toegevoegd om volledige controle over IPC-aanroepen te verkrijgen. Ondersteuning voor filters is toegevoegd voor de aanroepen remote.getBuiltin, remote.getCurrentWindow, remote.getCurrentWebContents en webview.getWebContents;
  • De mogelijkheid om meerdere instanties van BrowserViews vanuit één BrowserWindow-object te beheren is toegevoegd;
  • In verpakte applicaties is ervoor gezorgd dat het applicatiemenu standaard wordt toegevoegd, zelfs als de applicatie dit menu expliciet niet definieert en geen evenementhandler voor het sluiten van het venster toevoegt;
  • De gemengde modus voor sandbox-isolatie is standaard geactiveerd, waarbij het renderproces ook in de sandbox wordt uitgevoerd;
  • Een omgevingsvariabele 'ELECTRON_DISABLE_SANDBOX' is toegevoegd om sandbox-isolatie uit te schakelen, bijvoorbeeld als de applicatie al in een op Docker gebaseerde container draait;
  • Om de veiligheid te verbeteren, zijn standaard de instellingen nodeIntegration en webviewTag uitgeschakeld;
  • De API voor spellingcontrole (Spellchecker) is omgevormd naar een niet-blokkerend werkingsmode, waarbij het resultaat van de controle asynchroon wordt teruggegeven;
  • De volgende zijn als verouderd verklaard en zullen in de volgende release worden verwijderd:
    uitvoerbare bestanden mksnapshot voor arm en arm64, ServiceWorker in WebContents, aanroepen webFrame.setIsolated*, de mogelijkheid om modules electron.screen direct aan te roepen,
    child_process,
    fs,
    os en path (nu moeten ze worden aangeroepen via remote.require met behulp van een handler in geïsoleerde WebContents).

Ter herinnering, Electron maakt het mogelijk om grafische applicaties te creëren met behulp van browsertechnologieën, waarvan de logica is gedefinieerd in JavaScript, HTML en CSS, en waar de functionaliteit kan worden uitgebreid via een plug-in systeem. Ontwikkelaars hebben toegang tot Node.js modules en een uitgebreide API voor het genereren van native dialoogvensters, applicatie-integratie, het creëren van contextmenu's, integratie met meldingssysteem, vensterbeheer, interactie met Chromium subsystemen.

In tegenstelling tot webapplicaties worden Electron-gebaseerde programma's geleverd in de vorm van zelfstandige uitvoerbare bestanden, die niet aan een browser zijn gebonden. De ontwikkelaar hoeft zich geen zorgen te maken over het porteren van de applicatie naar verschillende platforms, Electron zorgt voor de mogelijkheid om builds te maken voor alle systemen die door Chromium worden ondersteund. Electron biedt ook middelen voor het organiseren van automatische levering en installatie van updates (updates kunnen worden geleverd vanaf een afzonderlijke server of rechtstreeks van GitHub).

Van de programma's die op basis van het Electron-platform zijn gebouwd, kunnen we de editor Atom, de e-mailclient Nylas, de toolkit voor Git GitKraken, het systeem voor het analyseren en visualiseren van SQL-query's Wagon, het blog systeem WordPress Desktop, de BitTorrent-client WebTorrent Desktop, en de officiële clients voor diensten zoals Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code en Discord. In totaal zijn er in de Electron programma catalogus. wordt gepresenteerd 760 applicaties. Voor het vereenvoudigen van de ontwikkeling van nieuwe applicaties is een set voorbeeldtemplates voorbereid demonstratie-applicaties, inclusief codevoorbeelden voor het oplossen van verschillende problemen.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster