Interview mit Jakob Westhoff

GitHub-Framework Electron: Mit Web-Technologien Desktop-Apps entwickeln

Ann-Cathrin Klose

© Shutterstock.com / Sentavio

Cross-Plattform-Entwicklung ist heute ein zentrales Thema in Sachen Apps. Ein Tool dafür ist das Framework Electron, das Jakob Westhoff in seinem Talk auf der iJS vorstellt. Im Interview erläutert Westhoff, wann es sinnvoll ist, Web-Technologien für den Desktop zu verwenden.

Electron ist das Framework hinter dem neuen GitHub Desktop, das im Frühjahr erschienen ist und alle Plattformen in einem Tool vereint. Das Framework selbst stammt ebenfalls von GitHub und kann nicht nur dann eingesetzt werden, wenn tatsächlich eine Cross-Plattform-App entstehen soll. Auch, wenn es primär um Desktop-Apps geht, kann Electron hilfreich sein, sagt Jakob Westhoff im Interview.

Cross-Plattform-Entwicklung ist ein wichtiger Trend in der IT-Welt. Wann sollte man dafür auf Electron zurückgreifen?

Jakob Westhoff: Electron ist ein Framework, das sich zur Aufgabe gemacht hat, die Entwicklung von Desktop-Applikationen mittels Webtechnologien zu ermöglichen. Das die Cross-Plattform-Entwicklung damit möglich ist, ist dabei eher Zufall. Das liegt daran, dass für nahezu jedes System eine funktionierende und moderne Browser-Engine existiert. Es gibt unterschiedlichste Wege, Desktop Applikationen Cross-Plattform zu entwickeln, auch wenn diese keine Web-Technologien verwenden.

Insofern müsste die Frage eher lauten: Warum sollte man eine Desktop Applikation mit den Techniken des Webs entwickeln? Diese Frage ist zugleich leicht, wie auch schwierig zu beantworten. Grundsätzlich gilt: Ein Entwicklungsteam sollte immer jene Technologien verwenden, mit denen es am vertrautesten ist und die es am angenehmsten findet, wenn keine projektspezifischen Einschränkungen für eine bestimmte Technologie existieren.

Falls sich ein Team also bereits im Web-Umfeld heimisch fühlt, dann bietet Electron nun die Möglichkeit, dieses Umfeld in den Entwicklungsbereich der Desktop-Applikationen zu überführen. Hierbei kann außerdem auf eine große Anzahl an Tools und Libraries zurückgegriffen werden, die heute für Web-Applikationen zur Verfügung stehen.

Wenn sich ein Team also bereits im Web-Umfeld heimisch fühlt, kann es die Technologien mit Electron auf den Desktop mitnehmen.

Wie funktioniert die Entwicklung mit Electron?

Jakob Westhoff: Electron ist prinzipiell ein Container, der die Client- und Server-Seite einer Web-Applikation in einem System vereint. Diese Kombination erlaubt die Erstellung komplexer, in sich geschlossener Applikationen. Eines der Kern-Features stellt hierbei die „Brücke“ zum Betriebssystem dar, die es dem Entwickler erlaubt, mit Systemfunktionen zu arbeiten, die im Web nicht zur Verfügung stünden. Das wichtigste daran ist nicht nur die Bereitstellung der Funktionalität, sondern ebenfalls das von Electron angebotene einheitliche API, das für jedes der Ziel-Systeme nahezu identisch ist.

Am wichtigsten ist die einheitliche API, die für jedes der Ziel-Systeme nahezu identisch ist.

Wie sieht deine persönliche Toolchain aus?

Jakob Westhoff: Meine Toolchain für die Entwicklung mit Electron ist für jedes Projekt ein wenig anders. Viele Umgebungen, die ich nutze, bauen auf dem exzellenten Projekt electron-forge auf, das ich jedem Neueinsteiger im Bereich Electron ans Herz legen möchte. Dieses Projekt vereint viele unterschiedliche Tools und Systeme, welche die Applikations-Entwicklung vereinfachen.

Gibt es einen Tipp, den du Entwicklern für den Einstieg in die Arbeit mit Electron an die Hand geben kannst?

Jakob Westhoff: Aber selbstverständlich. Ich würde jedem Entwickler, der den Einstieg in Electron sucht, meine Session auf der iJS ans Herz legen, in der ich einen Überblick über die aktuellen Technologien und Tools gebe. Für alle die es nicht zu der Session schaffen, möchte ich einen Blick auf die Liste „awesome-electron“ von Sindre Sorhus empfehlen.

Vielen Dank für dieses Interview!

Im Interview: Jakob Westhoff
Jakob Westhoff ist professioneller JavaScript- und PHP-Entwickler mit großem Interesse für Webarchitekturen. Nach einer erfolgreichen Karriere als Geschäftsführer, Berater und Trainer bei der Qafoo GmbH arbeitet Jakob heute als Freelancer. Mit seiner Leidenschaft für hoch qualitativen JavaScript- und PHP-Code sowie seinem großen Erfahrungsschatz unterschiedlichster Technologien und Architekturen unterstützt er Teams weltweit darin, Probleme zu lösen und komplexe Projekte umzusetzen.
Geschrieben von
Ann-Cathrin Klose
Ann-Cathrin Klose
Ann-Cathrin Klose hat allgemeine Sprachwissenschaft, Geschichte und Philosophie an der Johannes Gutenberg-Universität Mainz studiert. Bereits seit Februar 2015 arbeitete sie als redaktionelle Assistentin bei Software & Support Media und ist seit Oktober 2017 Redakteurin. Zuvor war sie als freie Autorin tätig, ihre ersten redaktionellen Erfahrungen hat sie bei einer Tageszeitung gesammelt.
Kommentare

Hinterlasse einen Kommentar

2 Kommentare auf "GitHub-Framework Electron: Mit Web-Technologien Desktop-Apps entwickeln"

avatar
400
  Subscribe  
Benachrichtige mich zu:
TestP
Gast

Electron? Das Framework was einen ganzen Chromium-Browser enthält und man hunderte MB an Speicher braucht für ein einfaches „hello world“?

Hier noch ein interessanter Link über Electron:
https://josephg.com/blog/electron-is-flash-for-the-desktop/

Da sieht man was das Ding technisch ist. Wird aber wohl trotzdem niemanden abhalten das zu benutzen. Weil das ja „Web“ und node.js ist deshalb total hip und modern. Auch wenn eine simple App 1 GB an RAM wegfrisst.

Grüße

Anonym
Gast
Ich stimme da TestP zu. Ich habe das Ding damals angetestet und nach kurzer Zeit für Müll empfunden. Ebenso kenne ich zwei Apps, die darauf aufbauen: Github und Atom. Sowohl Github, Atom, als auch die Demo zu Electron: All das fühlt sich nicht nativ an, braucht ewig zum Starten und verbraucht zudem Unmengen an Ressourcen. Ferner ist Atom eine Bug-Hölle auf Erden. Kritische Dateiverlust-Bugs sind seit Jahren nicht gefixt. Für mich zeichnen Electron und vergleichbare Frameworks sich durch eine Sache aus: Der Entwickler hat keinen Schimmer von dem was er tut und das Produkt kann nur Bescheiden werden, wenn es… Read more »