Patrick Schnell Selbstständig

Eine Electron-App zu entwickeln, ist sinnvoll, wenn Sie die aktuell modernen Werkzeuge verwenden möchten und keine hardwarenahe Entwicklung benötigt wird. Nicht nur, dass Sie Ihre Anwendung bei entsprechender Architektur flexibel auf sämtliche Plattformen verteilen können; Sie sind auch in der Lage, bestimmte Komponenten der Anwendung für beispielsweise mobile Apps weiterzuverwenden.

Immer mehr plattformunabhängige Frameworks finden ihren Weg in die Entwicklerwelt. Begonnen hat diese Entwicklung im großen Stil mit der Erfindung des Smartphones und dem naheliegenden Wunsch, Anwendungen schnell und einfach auf verschiedene Systeme zu bringen. Mit Electron wird Ihre Anwendung desktoptauglich gemacht und für nahezu alle denkbaren Desktopplattformen bereitgestellt.

Seit einigen Jahren ist sie quasi Standard: eine HTML5/JavaScript-Anwendung, die dennoch auf Gerätehardware zugreifen und als eine native App laufen kann. Möglich wurde dies zum einem durch die Entwicklung des Apache-Cordova-Frameworks, aber auch aufgrund der breiteren Verwendung und Entwicklung von Single Page Applications (SPAs) sowie Progressive Web Applications (PWAs). Die Unterschiede zwischen einer App und einer Website verschwinden immer mehr. Nun ist es an der Zeit, eine Brücke zu den nativen Desktopanwendungen zu schlagen. Hierbei unterstützt das offene Framework Electron den Entwickler und erstellt aus einfachen Webanwendungen entsprechende Desktopanwendungen für Windows, Linux und macOS.

Desktop- und Webentwicklung bisher

Im Normalfall reicht es für eine Desktopanwendung, die für den Endanwender gedacht ist, vollkommen aus, mit einer interpretierten Sprache entwickelt worden zu sein. Eine reine native Desktopanwendung – zum Beispiel auf Basis von C# oder Java – bietet vor allem im Zeitalter der Microservices und relativ üppiger Rechenleistung immer häufiger keine nennenswerten Vorteile mehr für den Anwender. Spezialisierte und hardwarenahe Anwendungen sind hier logischerweise ausgeschlossen.

Aufgrund dessen boomen sogenannte Progressive Web-Apps (PWAs); sie bieten zum einen den enormen Vorteil, plattformübergreifend lauffähig zu sein, gleichzeitig aber auch schnell und einfach verteilt werden zu können. Diesem Vorteil steht aber auch ein Nachteil entgegen: Die Verteilung via Webserver. Standardmäßig werden PWAs wie normale Websites gehostet, was bedeutet, dass dafür ein Server konfiguriert und gewartet werden muss. Auch wenn PWAs enorme Vorteile bieten und mit den entsprechenden Frameworks sogar direkt als Apps für Smartphones und Tablets verwendet werden können, gibt es dennoch Fälle, in denen der Entwickler eine installierbare Desktopanwendung vorzieht.

Zu diesen Fällen können zum Beispiel desktoptypische Bedienelemente, die Nutzung von direktem Dateizugriff, das Drucken von Dokumenten, die Einbindung von Kontextmenüs, gezieltere Softwareverteilung oder die Verwendung von Menüleisten (insbesondere unter macOS) zählen. Genau diese Punkte machen es einer Webanwendung oder PWA schwer, da sie immer noch im Browser und dessen Sandbox ausgeführt wird. Mit dem Framework Electron kann eine SPA oder PWA genau mit diesen Features ausgerüstet werden und bietet entsprechend native Funktionalitäten.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Windows Developer 3.18 - "Web und Desktop ergänzen sich"

Alle Infos zum Heft
579828111Electron: Von der Progressive Web-App zur Desktopanwendung
X
- Gib Deinen Standort ein -
- or -