Startpagina » hoe » Wat zijn elektronische apps en waarom zijn ze zo gewoon geworden?

    Wat zijn elektronische apps en waarom zijn ze zo gewoon geworden?

    Is het je opgevallen dat veel nieuwe bureaubladtoepassingen op websites lijken? Het is niet jouw verbeelding.

    Van Trello tot Slack, van WordPress.com tot Github, het komt steeds vaker voor dat zogenaamde desktoptoepassingen een website bundelen met een paar native-functies zoals meldingen, bestandssysteemtoegang en menu's. De meest gebruikte technologie hiervoor is Electron, en het wordt gebruikt door een paar applicaties die je misschien niet eens vermoedt, zoals de chat-applicatie Discord en Microsoft's Visual Studio Code.

    Met Electron kunnen ontwikkelaars eenvoudig een app tegelijkertijd op Windows, MacOS en Linux vrijgeven, maar er zijn nadelen voor de gebruikers. Elektron-toepassingen zijn enorm, bijvoorbeeld. Slack, een chattoepassing, neemt 237 MB ruimte op de harde schijf in beslag op mijn Mac en het geheugenverbruik is ook niet laag. Wat neemt al die bronnen op? En waarom gebruiken ontwikkelaars iets dat zo inefficiënt is??

    Elektron-apps zijn vrij eenvoudig te maken

    Desktoptoepassingen zijn moeilijk te maken, vooral als u wilt dat ze platformonafhankelijk zijn. Toegang tot het bestandssysteem werkt in Windows anders dan bijvoorbeeld in Linux, en meldingen werken anders op MacOS dan in Windows. Dit betekent dat iedereen die een toepassing wil schrijven voor alle drie de desktopbesturingssystemen (of zelfs twee) een groot deel van hun code opnieuw moet schrijven wanneer ze van de een naar de ander worden overgedragen.

    Electron "lost dit op door een enkel platform aan te bieden dat werkt op alle drie de belangrijkste besturingssystemen voor desktops. Dit betekent dat ontwikkelaars de code eenmaal voor dingen zoals meldingen kunnen schrijven en verwachten dat deze native werken op elk besturingssysteem. Nog beter voor ontwikkelaars: alles kan worden gebouwd met behulp van Javascript, HTML en CSS-technologieën die bekend is bij iedereen die codeert voor het web.

    Elektron-apps worden geleverd met vrijwel al het Chromium

    Hoe is dit mogelijk? Deels omdat elke Electron-app een complete webbrowser bundelt: Chromium, de opensource-versie van Google Chrome. Dit wordt samen met de platformspecifieke instructies gebundeld om ervoor te zorgen dat alles zich precies gedraagt ​​zoals ontwikkelaars op alle systemen verwachten. Daarom neemt de desktopversie van Slack meer dan 200 MB ruimte op de harde schijf in beslag: het grootste deel van Chrome is daar gebundeld.

    Elke Electron-app die u uitvoert, is min of meer een volledige instantie van Chrome. Zoals blogger Joseph Gentle opmerkte, is dit nauwelijks ideaal:

    Je kunt Slack zien als een klein javascript-programma dat in een andere VM van het besturingssysteem loopt (chrome), die je moet uitvoeren om in wezen op IRC te kunnen chatten. Zelfs als u het echte chroom open hebt, voert elke elektronen-app een eigen, extra exemplaar van de hele VM uit.

    Dus ja, er zijn nadelen voor gebruikers. Allereerst bundelt elke elektrone-toepassing die u downloadt het grootste deel van Chromium en elke toepassing die u uitvoert, voert een groot deel van die code uit. Het delen van bronnen gebeurt hier niet zoals bij native applicaties, wat betekent dat Electron-apps meer ruimte op de harde schijf en meer geheugen innemen dan een applicatie die speciaal voor uw platform is ontwikkeld. Als prestaties iets zijn waar u echt om geeft, wilt u wellicht Electron-toepassingen vermijden.

    Wacht, dus Electron is goed of slecht?

    Op dit moment zijn computers zo krachtig dat de meeste gebruikers nooit zullen merken hoe inefficiënte elektronische toepassingen zijn. In feite heeft de overgrote meerderheid nog nooit van Electron gehoord. De meeste van mijn collega's niet, en ze gebruiken Slack elke dag. Velen waren enthousiast om een ​​desktopversie van Trello te zien verschijnen, en hadden opnieuw geen idee dat het een Electron-app was.

    En deze apps kunnen beter beter worden geïntegreerd met uw besturingssysteem dan met websites. Ze leven in hun eigen raam. Ze bieden geweldige sneltoetsen, native meldingen en andere dingen die u niet op dezelfde manier kunt doen met slechts een browser.

    En het is een goede gok dat applicaties zoals Slack, Trello en WordPress.com niet de moeite zouden nemen om een ​​desktopversie aan te bieden als Electron niet bestond, met de nadruk op mobiele en browserversies. Dus de vraag is niet of Electron slecht is; het is of Electron-toepassingen beter zijn dan niets. Ik ben bereid om ja te zeggen, maar redelijke mensen kunnen het daar niet mee eens zijn. (En ja, voor die mensen is er altijd de webversie.)