1Jul

Was sind Electron Apps und warum sind sie so verbreitet?

Haben Sie bemerkt, dass viele neue Desktop-Anwendungen fast wie Websites aussehen? Es ist nicht deine Fantasie.

Von Trello bis Slack, von WordPress.com bis Github, wird es immer häufiger für so genannte Desktop-Anwendungen verwendet, um eine Website mit einigen nativen Funktionen wie Benachrichtigungen, Dateisystemzugriff und Menüs zu bündeln. Die gebräuchlichste Technologie, die dies ermöglicht, heißt Electron und wird von einigen Anwendungen verwendet, die Sie vielleicht nicht einmal vermuten, wie die Chat-Anwendung Discord und Microsoft Visual Studio Code.

Electron macht es für Entwickler leicht, eine App gleichzeitig auf Windows, MacOS und Linux zu veröffentlichen, aber es gibt Nachteile für die Benutzer. Elektronenanwendungen sind für eine Sache sehr groß.Slack, eine Chat-Anwendung, belegt auf meinem Mac 237 MB Speicherplatz auf der Festplatte und der Speicherverbrauch ist ebenfalls gering. Was nimmt all diese Ressourcen auf? Und warum verwenden Entwickler etwas so Ineffizientes?

Electron Apps sind ziemlich einfach zu machen

Desktop-Anwendungen sind schwer zu machen, vor allem, wenn Sie wollen, dass sie plattformübergreifend sind. Der Zugriff auf das Dateisystem funktioniert unter Windows anders als unter Linux, und Benachrichtigungen funktionieren auf macOS anders als unter Windows. Dies bedeutet, dass jeder, der eine Anwendung für alle drei Desktop-Betriebssysteme( oder sogar zwei davon) schreiben möchte, einen Großteil seines Codes neu schreiben muss, wenn er von einem zum anderen portiert.

Electron "löst" dies, indem es eine einzige Plattform bietet, die auf allen drei großen Desktop-Betriebssystemen funktioniert. Dies bedeutet, dass Entwickler den Code für Dinge wie Benachrichtigungen einmal schreiben können und erwarten, dass er nativ auf jedem Betriebssystem funktioniert. Noch besser für Entwickler: Alles kann mit Javascript, HTML und CSS-Technologien erstellt werden, mit denen sich jeder, der für das Web programmiert, vertraut macht.

Electron Apps kommen mit ziemlich viel Chrom

Wie ist das möglich? Zum Teil, weil jede Electron-App einen kompletten Webbrowser bündelt: Chromium, die Open-Source-Version von Google Chrome. Dies wird zusammen mit den plattformspezifischen Anweisungen gebündelt, um sicherzustellen, dass sich alles genau so verhält, wie es die Entwickler auf allen Systemen erwarten. Aus diesem Grund benötigt die Desktop-Version von Slack mehr als 200 MB Festplattenspeicher: Die meisten von Chrome sind dort gebündelt.

Jede von Ihnen ausgeführte Electron-App ist mehr oder weniger eine vollständige Instanz von Chrome. Wie Blogger Joseph Gentle darauf hingewiesen hat, ist dies kaum ideal:

Man kann sich Slack als kleines Javascript-Programm vorstellen, das in einer anderen Betriebssystem-VM( Chrome) läuft, die man ausführen muss, um im IRC chatten zu können. Selbst wenn Sie das echte Chrom geöffnet haben, führt jede Elektronen-App ihre eigene, zusätzliche Kopie der gesamten VM aus.

Also ja, es gibt Nachteile für die Nutzer. Zunächst einmal enthält jede einzelne heruntergeladene Electron-Anwendung den größten Teil von Chromium, und jede Anwendung, die Sie ausführen, führt einen guten Teil dieses Codes aus. Es gibt hier keine Ressourcen wie bei nativen Anwendungen. Das bedeutet, dass Electron-Apps mehr Festplattenspeicher und -speicher belegen als eine Anwendung, die speziell für Ihre Plattform entwickelt wurde. Wenn Leistung etwas ist, das Ihnen wirklich wichtig ist, sollten Sie Electron-Anwendungen vermeiden.

Warte, ist Elektronen also gut oder schlecht?

An diesem Punkt sind Computer so leistungsfähig, dass die meisten Benutzer niemals bemerken werden, wie ineffizient Elektronenanwendungen sind. Tatsächlich hat die große Mehrheit noch nie von Electron gehört. Die meisten meiner Kollegen hatten das nicht getan, und alle benutzen Slack jeden Tag. Viele waren aufgeregt, eine Desktop-Version von Trello herauskommen zu sehen, und hatten wieder keine Ahnung, dass es eine Electron-App war.

Und diese Apps integrieren sich wirklich besser mit Ihrem Betriebssystem als Websites. Sie leben in einem eigenen Fenster. Sie bieten großartige Tastaturkürzel, native Benachrichtigungen und andere Dinge, die Sie mit nur einem Browser nicht auf die gleiche Weise tun können.

Und es ist eine gute Wette, dass Anwendungen wie Slack, Trello und WordPress.com keine Desktop-Version anbieten würden, wenn Electron nicht existierte, sondern stattdessen auf mobile und Browser-Versionen. Die Frage ist also nicht, ob Electron schlecht ist;es ist, ob Elektronenanwendungen besser sind als nichts. Ich bin bereit, Ja zu sagen, aber vernünftige Leute können nicht zustimmen.(Und hey, für diese Leute gibt es immer die Webversion.)