Die Debatte wird seit langer Zeit geführt. Was ist besser? Die Desktop-App oder die Web-App? Wenn Sie als Startup auf der Suche nach Geldgebern sind, müssen Sie Ihre Strategie sorgfältig auswählen. Wird es die richtungsweisende Desktop-App oder die mobilfreundliche Web-Application sein? Finden Sie in diesem Artikel heraus, was besser geeignet ist.
Webanwendung oder Desktopanwendung? Was ist für welchen Anwendungsfall geeigneter? Eine Analyse.
Web-Anwendungen vs. Desktop-Anwendungen – was ist die bessere Wahl?
Eine der häufigsten Debatten ist, ob eine App als Desktop-Anwendung oder als Web-Anwendung erstellt werden sollte.
Der Webbrowser wird für den Zugriff auf viele Web-Apps verwendet. Die meisten mobilen App-Stores, insbesondere Google Play und Apple App Store, akzeptieren derzeit Web-Apps für den Vertrieb.
Es herrscht die Meinung, dass eine App, die unter dem Banner eines mobilen Betriebssystems wie iOS oder Android erstellt wird, eine mobile Anwendung sein sollte. Einige Unternehmen entwickeln jedoch Apps und vertreiben sie über Browser wie Firefox OS und Web Kit-Browser auf Symbian und Windows Phone 7. In diesen Fällen haben wir nicht die Möglichkeit, zwischen der Erstellung einer App oder einer Web-App zu wählen.
Die mobilen Betriebssysteme verfügen auch über APIs zur Kommunikation mit Desktop-Anwendungen. Sie werden für die Erstellung von Apps für den Desktop verwendet.
Es gibt mehrere Situationen, in denen Web-Apps für manche Anwendungen besser geeignet sind als Desktop-Anwendungen. Außerdem gibt es Situationen, in denen eine Desktop-App besser geeignet ist als eine Web-App.
Überlegungen zur Benutzeroberfläche: Desktop oder Web?
Wenn Sie eine App mit einer komplexen Benutzeroberfläche erstellen, ist es am besten, sie als Desktop-Anwendung und nicht als Web-App zu erstellen. Man muss jedoch bedenken, dass die meisten mobilen Geräte kleine Bildschirmgrößen und niedrige Auflösungen haben, was das Design von Content-reichen Oberflächen viel anspruchsvoller macht.
Eine Web-App zu erstellen, wenn das Design große Schaltflächen oder komplizierte Benutzeroberflächen erfordert, wird nicht funktionieren. Wenn Sie eine sehr flexible und dynamische Web-App erstellen wollen, sollten Sie eine Desktop-Anwendung daraus machen.
Dies gilt jedoch nicht immer in Situationen, in denen die Regeln klar sind: Wenn Ihre App beispielsweise einige Aspekte der nativen Funktionalität benötigt, wie z. B. die Offline-Unterstützung, und dies mit einer einfachen HTML5/JavaScript-Lösung realisiert werden kann, dann können Sie Ihre Apps stattdessen als Desktop-Anwendungen entwickeln. Dies gilt insbesondere dann, wenn die App aufgrund ihrer Beschaffenheit oder Komplexität nicht über mobile Geräte verteilt werden kann.
Performance-Überlegungen: Desktop- vs. Web-Anwendung
Beim Prozess der Entscheidung zwischen der Erstellung einer App oder einer Web-App müssen mehrere wichtige Performance-Überlegungen berücksichtigt werden.
Das mobile Betriebssystem behandelt Anfragen für Ressourcen wie Bilder, CSS und JS anders als das Desktop-Betriebssystem. Außerdem sind die Dateigrößen bei einer Web-App in der Regel viel umfangreicher als bei einer Desktop-Anwendung. Wenn Sie Ihre HTML5/JS-Anwendung auf einem Server hosten, wird sie auf der Grundlage der Architektur des Servers auf Leistung optimiert. Hosten Sie Ihre HTML5/JS-Anwendung auf einer teuren Cloud-Plattform wie AWS oder Azure. Sie können auch zusätzliche Vorteile wie schnelle Bereitstellung und Versionskontrolle (mit Git) erhalten.
Wenn Sie Ihre Dateien auf Clouds wie AWS oder Azure hosten, können Sie auch dynamisch HTML5/JS-Content on the fly generieren. Dies kann verwendet werden, wenn der Content für jeden Benutzer oder jedes Produkt unabhängig generiert werden muss. Traditionelle Desktop-Anwendungen können solche dynamischen Inhalte in der Regel nicht erzeugen.
Selbst wenn es sich bei Ihrer App um eine einfache Anwendung handelt, die ein oder zwei CSS/JS-Bibliotheken aus Webressourcen verwendet, wie z. B. eine Google+-Schaltfläche, müssen Sie bei jeder Ressourcenanforderung die gesamte CSS/JS-Bibliothek herunterladen. Dies kann die Leistung Ihrer Webanwendung erheblich verlangsamen, wenn es mehrere Anfragen für diese Art von Ressourcen gibt.
Bei Anwendungen, die viel lokalen Speicher verwenden, um Benutzerdaten oder Einstellungen zu speichern und häufig aufgerufene Daten zu cachen, kann es zu langen Verzögerungen kommen, bevor die Anwendung starten kann. Die Ladezeit einer Web-App ist in der Regel langsamer als die einer Desktop-Anwendung. Wenn also Ressourcen, also große Dateien wie Bilder und JavaScript-Bibliotheken, von Ihrer Web-App nicht immer abgerufen oder häufig verwendet werden, ist es möglicherweise besser, sie zu einer Desktop-Anwendung mit statischem Ressourcen-Hosting zu machen.
Überlegungen zur Entwicklungseffizienz: Desktop- vs. Web-Application
Die Erstellung einer App für mobile Betriebssysteme ist in den letzten Jahren deutlich einfacher geworden, da neue Frameworks wie PhoneGap und Appcelerator Titanium die Erstellung nativer Anwendungen mit Standard-HTML5/JS-Lösungen erleichtern.
Dennoch ist die Erstellung einer Desktop-Anwendung immer noch viel handhabbarer als die Erstellung einer voll funktionsfähigen Web-App. Eine Desktop-Anwendung hat viel weniger Overhead und weniger Dinge, die richtig gemacht werden müssen, wie z. B. eine begrenztere API-Unterstützung, das gleichzeitige Ausführen mehrerer Skripte im Hintergrund usw.
Angenommen, Sie entwickeln ein Projekt mit einem Team von Entwicklern oder lagern die Entwicklung aus. In diesem Fall müssen Sie sich darüber im Klaren sein, dass die Entwicklung einer Desktop-Anwendung weniger Zeit in Anspruch nimmt als die Entwicklung einer Web-App. Es gibt viele Sprachen und Frameworks für die Desktop-Entwicklung, die für die Web-Entwicklung nicht zur Verfügung stehen. Dadurch ist es möglich, dass dasselbe Projekt mit Desktop-Software schneller erstellt werden kann als mit Web-Apps auf verschiedenen Plattformen (mit einigen Ausnahmen wie Java und PHP).
Überlegungen zu den Entwicklungskosten: Desktop-App oder Web-App
Angenommen, Sie betrachten die Entwicklungskosten für das gesamte Projekt für ein Jahr. Wenn Sie in diesem Fall statt Web-Apps Desktop-Anwendungen entwickeln, sparen Sie mindestens 30%. Dies bezieht sich auf die Kosten für Softwareentwickler und beinhaltet nicht die Kosten für Designer oder UI-Entwickler.
Bei der Erstellung einer Desktop-Anwendung sollte wie bei der Erstellung einer funktionalen Web-App professioneller Rat hinzugezogen werden. Somit können unangenehme Überraschungen zu einem späteren Zeitpunkt vermieden werden.
Fazit: Die Qual der Wahl
Wenn Sie erwägen, Ihre App für mobile Betriebssysteme oder eine Web-Plattform zu entwickeln, ist es wichtig, die Vor- und Nachteile Ihrer Entscheidung vollständig zu verstehen. Dieser Artikel bietet einen Überblick über beide Seiten der Medaille und wird Ihnen helfen, eine intelligentere Entscheidung zu treffen.
Bildquelle: © Piyapong Sintutan ordinary042/123RF