Belangrijkste afhaalrestaurants
- Electron is een wrapper die websites als apps op uw computer uitvoert.
- Deze platformonafhankelijke apps zijn gemakkelijker en sneller te bouwen.
- De apps zijn zelden zo gepolijst of geïntegreerd als officieel ondersteunde apps.
Web-apps zijn overal op internet en nu nemen ze uw computer over.
"Electron" is een naam die zelfs de meest gewone Mac-gebruikers de kriebels kan bezorgen. Het is een manier voor ontwikkelaars om hun app één keer te schrijven en deze op Windows, Mac en in de webbrowser te laten draaien. Maar dat komt omdat Electron-apps in een browser worden uitgevoerd, een op Chromium gebaseerde browser vermomd als een app. En nu gooit Agile Bits, de ontwikkelaar van 1Password, zijn officiële Mac-app voor Electron weg. Dat klinkt niet zo erg, dus waarom zijn mensen zo boos?
"Dankzij de Chromium-engine, met de Electron, worden apps weergegeven alsof ze in een browser worden uitgevoerd. Dit heeft echter een prijs: hoog CPU- en RAM-gebruik in vergelijking met [officieel ondersteunde] apps, " web -app-ontwikkelaar Burak Özdemir vertelde Lifewire via e-mail.
Meer elektronen, meer problemen
Özdemir raakt precies op het punt. Het grootste probleem met Electron, vanuit praktisch oogpunt, is dat het de bronnen van uw computer verbruikt. Het voert een webbrowser uit, samen met verschillende extra ondersteunende processen, voor elke Electron-app die u gebruikt.
Deze browsers nemen een absurde hoeveelheid van het werkgeheugen van uw computer in beslag en belasten ook de CPU. Kortom, uw computer zal heter worden en meer stroom verbruiken, waardoor uw batterij sneller leeg raakt.
Ontwikkelaars graven Electron omdat het minder werk is. Je hoeft de app maar één keer te schrijven en hij werkt op elk platform dat Electron ondersteunt.
Maar misschien interesseert het je niets. Misschien gebruik je een grote, krachtige desktop die altijd op stroom is aangesloten, en je geeft er niet om om elektriciteit te verspillen. Dat brengt ons bij de tweede en misschien wel belangrijkere reden waarom Mac-gebruikers Electron niet leuk vinden.
Elk computerplatform heeft een look en feel. Op de Mac zien dialoogvensters er allemaal hetzelfde uit. Sneltoetsen zijn consistent in alle apps, de ⌘-toets roept het voorkeurenvenster van een app op, enzovoort.
Electron-apps doorbreken deze consistentie, hoewel ze dat niet proberen - ze vertalen meldingen en menu's naar platformrelevante versies, maar het algehele ontwerp van de apps volgt zelden platformconventies. Dit lijkt onvermijdelijk als je een app ontwikkelt die zowel op Windows als op macOS draait - je kunt niet op beide platforms passen.
Erger nog, Electron-apps gedragen zich vaak niet zoals hun ingebouwde tegenhangers. De Slack Mac-app doet bijvoorbeeld allerlei rare dingen als je op de pijltjestoetsen tikt of standaard sneltoetsen op het systeemtoetsenbord gebruikt om door je getypte tekst te navigeren. En er is geen standaard voorkeurenpaneel - u krijgt in plaats daarvan een webpagina.
Waarom ontwikkelaars het gebruiken
Ontwikkelaars graven Electron omdat het minder werk is. Je hoeft de app maar één keer te schrijven en hij werkt op elk platform dat Electron ondersteunt. Dat is een grote zegen als je een startup bouwt. Tegenwoordig is het web zelf vaak het primaire platform, met apps voor Mac, Windows of Linux op een verre derde plaats na de iPhone, iPad en Android.
"Veel ontwikkelaars zullen Electron voor Mac-gebaseerde apps gebruiken omdat het framework het mogelijk maakt om de app één keer te coderen en te implementeren op macOS", vertelde netwerkingenieur Eric McGee aan Lifewire via e-mail. "Dit raamwerk biedt ook een rijke gebruikersinterface voor de desktop-apps die erop zijn gebouwd."
Electron-ontwikkeling is ook gemakkelijk voor mensen die al web-apps maken. Het gebruikt exact dezelfde technologie - HTML, CSS en JavaScript - dus het is niet nodig om een nieuwe taal te leren of nieuwe ontwikkelaars in te huren die ze kennen.
iPhone eerst
Dus waarom wordt Electron niet ook op mobiel gebruikt? Ontwikkelaars vinden dat misschien leuk, en het zou een klus minder zijn om te doen, maar Electron is gewoon niet goed genoeg.
"[Electron] verbruikt veel RAM en vereist een enorme hoeveelheid opslagruimte, waardoor het een slechte keuze is voor iOS-apps die snel en lichtgewicht moeten zijn en minimale druk op RAM moeten uitoefenen", zegt McGee.
De andere reden is dat Apple het niet toestaat. Apple maakt het ontwikkelaars moeilijk om Electron-apps in te dienen bij de Mac App Store, maar het is mogelijk en het is ook gemakkelijk om de app gewoon te downloaden en direct te installeren.
Het grootste probleem met Electron, vanuit praktisch oogpunt, is dat het de bronnen van je computer verbruikt.
Op iOS staat Apple niet toe dat apps hun eigen webrendering-engine gebruiken. Dat wil zeggen, apps kunnen alleen WebKit gebruiken, wat Safari mogelijk maakt. Zelfs echte webbrowsers op iOS-Chrome, Firefox en Brave gebruiken allemaal WebKit in plaats van hun eigen technologie.
Dat betekent dat je de Chromium-back-end die vereist is voor Electron-apps niet kunt uitvoeren, wat op zijn beurt de ontwikkelaars dwingt om goede apps te ontwikkelen.
Electron gaat waarschijnlijk nergens heen - niet terwijl internet en mobiel de primaire platforms voor services en apps blijven. Maar dat betekent niet dat je Electron-apps leuk moet vinden, of ze je batterij moet laten leegzuigen terwijl je je computer lelijk maakt. Misschien blijf je bij de officieel ondersteunde apps waar je kunt.