© StonePictures/Shutterstock.com
Teil 4: Cross-Plattform-Programmierung für Desktopsysteme

Gearbeitet wird am Schreibtisch


Windows, macOS und Linux sind die Systeme für den Desktop. Soll eine Anwendung auf all diesen Systemen laufen, ist Java seit langem Standard. Doch es gibt auch Alternativen. Von nativen Ansätzen bis zur Webtechnologie ist alles dabei.

In diesem Teil der Artikelserie beschäftigen wir uns mit unterschiedlichen Ansätzen, um Applikationen für den Desktop zu erstellen, die auf den relevanten Systemen Windows, Linux und macOS gleichermaßen laufen und aus einer gemeinsamen Quellcodebasis erstellt werden. Desktopapplikationen werden primär zum produktiven Arbeiten auf PCs und Notebooks eingesetzt. In vielen Bereichen wurden diese zwar in der Vergangenheit durch die deutlich flexibleren Webanwendungen abgelöst, aber es gibt nach wie vor gute Gründe, warum man sich für eine Desktopapplikation entscheiden sollte. Das sind vor allem:

  • Offlinefähigkeit: Desktopanwendungen bieten Offlinefunktionen. Wenn Sie die Textverarbeitung auf Ihren Computer heruntergeladen haben, können Sie jederzeit auf diese App zugreifen. Ihr Desktop ermöglicht es Ihnen, ohne Datenverbindung zu arbeiten. Befindet sich Ihr Dokument in einer Web-App, müssen Sie über eine Datenverbindung verfügen, um sicherzustellen, dass das Programm verfügbar ist. Aus diesem Grund erhöhen Desktopanwendungen die Produktivität.

  • Erhöhte Sicherheit: Desktopanwendungen bieten durch ihre Offlinefähigkeit eine erhöhte Sicherheit bei der Arbeit mit sensiblen Daten. Sie können Ihre LAN- oder WLAN-Verbindung trennen, wenn es notwendig ist. Mit einer Web-App sind Sie immer einem bestimmten Risiko einer Internetbedrohung (Datendiebstahl) ausgesetzt. Ihre Daten sind immer exponierter, da Sie Informationen auch nicht immer lokal speichern. Es gibt auch Programme, bei denen dieses Problem keine Rolle spielt. Bei Web Apps muss man vor dem Hintergrund der Datenschutz-Grundverordnung (DSGVO) auch den Standort des Servers klären. Viele brisante Daten dürfen den EU-Raum nicht verlassen. Sie müssen sicherstellen, dass der Betreiber bzw. Hoster der Web-App die Anforderungen der DSGVO erfüllt.

  • Arbeitsgeschwindigkeit: Die Ausführungsgeschwindigkeit hängt von der Geschwindigkeit Ihres Computers ab. Wenn Sie einen sehr schnellen Computer und eine sehr langsame Internet- oder Datenverbindung haben, hat eine Desktopanwendung einen erheblichen Vorteil. Sie nutzt den Arbeitsspeicher und die Verarbeitungsleistung Ihrer lokalen Ressourcen, um eine positive Nutzererfahrung zu erzielen. Wenn Sie mit einer Web-App arbeiten, hängen die Ergebnisse direkt von Ihrer Internetverbindung und -geschwindigkeit ab. Ist die Verbindung schlecht, spiegelt sich das auch in Ihrer Produktivität wider. In besonderen Anwendungsszenarien kann sich dieses Bild allerdings drehen. Ist die Geschwindigkeit der Internetverbindung nicht mehr der Flaschenhals, dann kann man über eine Webapplikation aufgrund der potenten Hardware in der Cloud eine größere Rechenpower nutzen.

  • Langfristig meist günstiger: Wenn Sie eine Desktopanwendung kaufen (Lizenz), haben Sie normalerweise erst einmal höhere Kosten als beim Kauf einer Web-App oder eines Abonnements. Doch wenn Sie die Kosten über die Laufzeit des Programms vergleichen, sind die einmaligen Kosten in der Regel günstiger als die laufenden Zahlungen.

  • Unabhängigkeit von Dritten: Desktopanwendungen erfordern keine Unterstützung von Dritten für ihre Verfügbarkeit. Solange das Gerät ordnungsgemäß funktioniert, können Sie jederzeit auf Ihre Daten zugreifen. Das verhält sich anders, wenn Sie mit Web-Apps arbeiten. Ist der Server aus irgendeinem Grund nicht verfügbar, haben Sie keinen Zugriff auf die gewünschten Informationen. Entscheiden Sie sich dagegen für eine Desktop-App, sind Sie nicht gezwungen, den Handlungen unbekannter Dritter zu vertrauen, um die Integrität Ihrer Dateien zu schützen. Andererseits ist man für die Bereitschaft und Aktualität der Desktopanwendung auch stets selbst verantwortlich.

  • Kein Upgradezwang: Desktopanwendungen zwingen Sie nicht zu einem Upgrade. Webanwendungen können Sie dagegen ohne Ihre Zustimmung zu Upgrades zwingen, da das Teil des automatischen Aktualisierungsprozesses ist. Wenn das Programm nach dem Update nicht wie gewünscht funktioniert, haben Sie ein Problem.

  • Uneingeschränkter Hardwarezugriff: Sie haben keine Einschränkungen beim Zugriff auf die Hardware des Systems und bei der Ansteuerung von spezifischen Ein- und Ausgabegeräten. Es ist i. d. R. eine vollständige und direkte Nutzung der Systemressourcen möglich.

Das dominierende Betriebssystem für den Desktop ist seit vielen Jahren Microsoft Windows. Doch gibt es auch einen Anteil von Nutzern, die unter anderen Betriebssystemen arbeiten (Abb. 1).

krypczyk_crossplattform4_1.tif_fmt1.jpgAbb. 1: Marktanteile der Desktopbetriebssysteme [1]

Soll die Desktopapplikation auf unterschiedlichen Systemen laufen, dann sollten die Anwendungen aus einer gemeinsamen Quellcodebasis generiert werden. Die am häufigsten eingesetzte Variante sind Java-Applikationen. Doch es gibt auch eine Reihe von Alternativen.

User Interface als Engpass

Warum tut man sich immer relativ schwer mit der Cross-Plattform-Programmierung im Bereich der Desktopapplikationen? Die Antwort ist einfach: Insbesondere die recht großen Unterschiede der Systeme bei der Ansprache der grafischen Benutzeroberflächen führen gewissermaßen zu einem Engpass. Neben unterschiedlichen technischen Herangehensweisen gibt es unterschiedliche Controls, verschiedene Designrichtlinien usw. Eine Applikation, die auf...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang