
Haben Sie bemerkt, dass viele neue Desktop-Anwendungen fast wie Websites aussehen? Es ist nicht Ihre Phantasie.
Von Trello bis Slack, von WordPress.com bis Github, wird es immer häufiger für so genannte Desktop-Anwendungen, eine Website mit ein paar nativen Funktionen wie Benachrichtigungen, Dateisystemzugriff und Menüs zu bündeln. Die gebräuchlichste Technologie, die dies ermöglicht, heißt Electron, und sie wird von einigen Anwendungen verwendet, die Sie vielleicht nicht einmal vermuten, wie die Chat-Anwendung Discord und Microsoft Visual Studio Code.
Electron erleichtert es Entwicklern, eine App gleichzeitig unter Windows zu veröffentlichen, macOS und Linux, 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?

Desktop-Anwendungen sind schwer zu erstellen, besonders wenn sie plattformübergreifend sein sollen. Der Zugriff auf das Dateisystem funktioniert unter Windows anders als unter Linux, und Benachrichtigungen funktionieren auf macOS anders als unter Windows. Das bedeutet, dass jeder, der eine Anwendung für alle drei Desktop-Betriebssysteme (oder sogar zwei) schreiben möchte, einen großen Teil seines Codes neu schreiben muss, wenn er von einem zum anderen portiert.
Electron "löst" dies durch das Anbieten eines einzelne Plattform, 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, die jeder kennt, der für das Web kodiert.
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 enthalten.

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:
Sie können sich Slack als kleines Javascript-Programm vorstellen, das in einer anderen Betriebssystem-VM (Chrome) läuft, die Sie ausführen müssen, um im IRC zu chatten. Selbst wenn Sie das echte Chrom geöffnet haben, führt jede Elektronen-App ihre eigene, zusätzliche Kopie der gesamten VM.
Also ja, es gibt Nachteile für die Benutzer. 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.

Computer sind an diesem Punkt so leistungsfähig, dass die meisten Anwender gar nicht bemerken, wie ineffizient Elektronen sind Anwendungen 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 begeistert, eine Desktop-Version von Trello herauskommen zu sehen, und hatten wiederum 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 nicht einfach mit einem Browser tun können.
Und es ist eine gute Wette, dass Anwendungen wie Slack, Trello und WordPress.com nicht anbieten würden eine Desktop-Version, 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.)
Warum stellt ~ den Home-Ordner auf macOS und Linux dar?
Ob Sie das Linux-Subsystem unter Windows 10 installiert haben oder mit dem Linux-Terminal beginnen, es gibt alle Arten von Shorthands Sie müssen lernen ... von denen keine intuitiv sind. Zum Beispiel gibt es die Tilde, ~ , die Ihren Home-Ordner darstellt. Wenn Sie cd ~ / Documents eingeben, wird der Ordner Documents im Home-Verzeichnis des aktuellen Benutzers angezeigt, sodass ich nicht jedes Mal / Users / justinpot / Documents eingeben muss.
So finden Sie die Informationen Ihres Android-Geräts für die richtigen APK-Downloads
Wenn Sie jemals versucht haben, eine App zum Sideloaden auf Ihr Android-Smartphone herunterzuladen, wissen Sie, wie verwirrend es sein kann. Oft gibt es mehrere Versionen der gleichen App, die für verschiedene Geräte-Spezifikationen entwickelt wurden - woher wissen Sie, welche die richtige ist? Die verschiedenen Dateiversionen verstehen Wenn Sie dies lesen, besteht eine gute Chance versuche, eine App von APK Mirror herunterzuladen, einer legitimen Hosting-Site für APKs, die kostenlos im Play Store verfügbar sind.