Was ist besser, sollte man eine Web-App programmieren oder lieber eine Desktop-App?

Mancher behauptet, der Zug der Zeit ginge zunehmend in die Richtung Web-Programmierung, diese Tendenz sei eindeutig. In den letzten Jahren nahmen Browser-Webanwendungen zu, Desktop-Apps gingen zurück. Beim Online-Arbeiten kann man sofort loslegen, eine Desktop-Anwendung muss man erst herunterladen und installieren.

Jedoch ist die Desktop-App noch lange nicht abgeschrieben. Unsere Desktop-Gewohnheiten bleiben uns verhaftet, auch in Zukunft wird das so sein. Unsere Computer sind nach wie vor mit einer Vielzahl von lokalen Anwendungen vollgeladen, von Word über Excel zu Photoshop.

Die Verbreitung von Desktop-Apps ist in letzter Zeit sogar gestiegen, so dass Anwendungen, die eigentlich für das Web entwickelt wurden, nun auch lokal verfügbar sind, wie zum Beispiel Wrike, Trello oder Azure.

Was ist für die Zukunft zu erwarten? Wo liegen die Vorteile und die Nachteile?

Designers in discussion
Designers in discussion

wodurch unterscheiden sich Desktop-Anwendungen von Web-Anwendungen?

Wir wollen einige grundlegende Unterschiede zwischen Desktop-Anwendungen von Web-Anwendungen definieren.

Auf Web-Anwendungen greift man online zu. Die Funktionalität wird von einem Webbrowser abgerufen – sie ist nicht auf dem lokalen Gerät (Desktop-Comuter/Laptop/Phone) installiert.  

Hingegen sind lokale Apps Anwendungen, die man downloaden und auf dem Computer einrichten muss, um sie benutzen zu können.

Web-Anwendungen sind die zeitgemäßere Form von Anwendungen – sie wurden mit der zunehmenden Bandbreite und Verbindungssicherheit des Internet erst möglich. Desktop-Anwendungen sind traditioneller. Jedoch haben beide Arten des Computing recht unterschiedliche Charakteristika. 


Pro – Desktop-App

Desktop-Apps können i.d.R. schneller auf Daten zugreifen und diese verarbeiten, die Reaktionszeit ist geringer. Der Weg der Daten über das Internet kann je nach Verbindung länger dauern. Lokale Anwendungen hingegen hängen hinsichtlich der Reaktionszeit in erster Linie von dem Computer ab, auf dem sie ausgeführt werden.

Desktop-Apps können direkt auf das Verzeichnissystem des Computers zugreifen. Ebenso auf alle Ressourcen des Computers wie Speicher, Graphikressourcen etc.. Das kann eine Webapp nicht.

Die lokale Anwendung lässt sich genauer für die beim Nutzer vorhandene Software und Geräte-Einrichtung konzipieren. Letztlich entscheiden sich die Betriebe i.d.R. immer für eine bestimmte Art von Computern, ein bestimmtes Betriebssystem, oft auch eine bestimmtes Produkt bei den Peripheriegeräten.

Naturgemäß sollen Webapps, die ja auf allen möglichen Geräten ausgeführt werden können, universeller einsetzbar sein – dadurch sind sie eben auch nie ganz passend.

Zur Nutzererfahrung gehört auch, dass die lokale Anwendung für Betriebe eine sehr spezifische und komplizierte Form annehmen kann – und oft auch annehmen wird. Oft geht es um sehr genaue Erfassung von Details, spezifische Kennziffern etc.. Für die Anwendung in Betrieben sind oft Software-Oberflächen nötig, die für Web-Apps ungewöhnlich “unaufgeräumt” und speziell wirken würden, und beispielsweise nur auf Breitbildbildschirmen sinnvoll genutzt werden können, oft sogar nur auf einem Multi-Monitor-System. Demgegenüber sind Web-Apps, die auf allen Geräten genutzt werden können, bis hin zum Smartphone, zu Einfachheit und Übersichtlichkeit verpflichtet.

Ist die Anwendung installiert, ist das Icon auf dem Desktop, dann erreicht der Nutzer die App zuverlässig, wo hingegen Web-Apps Serverstörungen unterliegen können oder Verbindungsstörungen auftreten können.


Cons – Desktop-App

Desktops-Apps werden speziell für ein spezielles Betriebssystem geschrieben, die wiederum meist eine bestimmte Hardware erfordert. Leistung und Wartung der Software hängen von dem lokalen Gerät und ggf. Upgrades etc. ab.

Lokale Anwendungen werden auf einem Computer installiert – wo hingegen Web-Anwendungen auf jedem Gerät ausführbar sind. Man benötigt also immer sein Arbeitsgerät bei sich – was bei Desktopcomputern eine sehr begrenzte Mobilität bedeutet.

Download und Installation, wie auch Wartung sind naturgemäß komplizierter, als würde man schlicht den Browser öffnen und könnte direkt loslegen. Dies mag für betriebliche Software machbar sein, eine breite Öffentlichkeit würde dies als unbequem und als eine Barriere wahrnehmen.


Pro – Web-App

Im Gebrauch sind Web-Apps klar unabhängiger von dem Gerät, auf dem sie genutzt werden. Hardware-Begrenzungen wie Arbeitsspeicher, Festplatte, Prozessortechnologie wirken in der Regel kaum begrenzend, da die Rechenleistung auf der Serverseite erbracht wird, der User stellt die Ergebnisse dieser Rechenleistung nur auf seinem eigenen Gerät dar.

Aus Usersicht sind Web-Apps oft mit einer hohen Einfachheit verbunden. Wenn man viele User hat, muss der Gebrauch der App einfach sein. Softwareschulungen wie in einem Betrieb sind nicht möglich. In der Praxis wird man, was in einer Desktop-App in Form vieler Wahlmöglichkeiten zur Verfügung steht, in eine Web-App nicht einbauen – hier wird man auf Vereinfachungen und Vorauswahlen setzen. Man könnte das auch als “Con” formulieren: die höhere Kompliziertheit können Desktop-Apps aufweisen.

Für webbasierte Apps ist kein Download erforderlich. Sie erstellen einfach ein Konto, melden sich an und legen los. Dies ist eine Onboarding-Option mit viel geringerer Barriere. Schließlich müssen keine separaten Komponenten navigiert werden. keine Reiseunterbrechung.

Web-Apps sind häufig für einen größeren Anwenderkreis gemacht – hier spielt sich der Vorteil eines Upgrades auch besonders aus. Wärend ein Upgrade im Desktop-Bereich auf jedem betroffenen Computer durchgeführt werden muss, muss ein Update, oder ein Upgrade im Web-App-Bereich nur einmal, nämlich auf dem Servercomputer durchgeführt werden.


Cons – Web-App

Für Web-Anwendungen gilt natürlich: Ohne Internetanbindung läuft nichts. Insofern ist eine Desktoplösung zuverlässiger, denn es kann ja einmal sein, dass kein vernünftiges Netz zur Verfügung steht, oder das selbiges ausfällt.

Web-Anwendungen können nicht ohne weiteres auf das Verzeichnissystem zugreifen. Gleiches für alle Ressourcen des ausführenden Gerätes.

Ein Online-Produkt befindet sich in der Cloud – auf einem Remote-Computer. In der Regel bedeutet das, dass man sich auf öffentlich zugängliche Ports verlassen muss – hier gibt es prinzipielle Sicherheitsbedenken. Alles, was an das Internet angebunden ist, kann auch aus dem Internet “geknackt” werden. Insbesondere wenn Daten sehr sicher sein sollen, ist Webanbindung zu überdenken.

Das mag nicht in jedem Fall zutreffen, aber Webanwendungen gibt es viele, und die Alternativen sind i.d.R. nur einen Mausklick entfernt. Die Userbindung ist größer, wenn eine App auf dem Arbeitscomputer installiert und gespeichert ist, und vielleicht direkt auf dem Desktop glänzt. Hierauf kommt der User mit hoher Sicherheit immer wieder zurück.


Fazit: jedes hat seine Berechtigung

Web-Apps nehmen zwar immer mehr zu. Dies ist jedoch nicht immer von Nachteil für Desktop-Apps. Für viele User kommt eine Kombination von beidem in Frage.

Beispielsweise möchte man eine Arbeitsplattform für die Kunden schaffen – hier kann man sich registrieren, mit dem Anbieter kommunizieren, vielleicht Produkte kaufen.

Für die firmeninterne Datenverarbeitung wird ein davon abgetrennter Bereich geschaffen, der die Kundendaten vielleicht aus dem Internetbereich bezieht, aber selbst an diesen nicht angebunden ist – aus Sicherheitsgründen.

Die hochkomplizierten betrieblichen Prozesse laufen über lokale Lösungen, die eine bestimmte Hard- und Software voraussetzen.

Jedenfalls findet der Kampf zwischen Web und Desktop in unserer Zeit ein Ende, und geht notwendigerweise zugunsten des Web aus. Vielleicht erleben wir hier in Zukunft auch eine stärkere Differenzierung, denn Sicherheitsaspekte gewinnen eine immer größere Wichtigkeit. Die Verlässlichkeit der Desktopwelt ist nach wie vor nicht zu ersetzen.