In der Firma, für die ich arbeite, müssen plötzlich alle unsere Anwendungen auf Webanwendungen portiert werden. Soweit ich verstehen kann, ist der einzige Grund, dass der Hype um Webanwendungen einige unserer Entscheidungsträger endgültig kontaminiert hat.
Ich bin ein Fan von Desktop-Anwendungen, weil sie benutzerfreundlicher sind. Meiner Meinung nach reagieren sie schneller, haben bessere Benutzeroberflächen, sind anpassbarer und haben eine bessere Tastaturunterstützung. Ich kann mich einfach nicht mit Webversionen von Visual Studio oder OpenOffice sehen. Darüber hinaus habe ich den Eindruck, dass Thin Client-Desktopanwendungen einfacher zu implementieren sind als ihre Gegenstücke zu Web-Apps.
Vielleicht übersehen wir einige Eigenschaften von Webanwendungen, und vielleicht irre ich mich über die oben erwähnten Nachteile. Daher meine Frage: Gibt es jemanden, der die Vorteile von Webanwendungen gegenüber Desktopanwendungen erkennen kann?
Update: Bisher gab es einige interessante Antworten. Bitte beachten Sie jedoch, dass ich nicht über den Unterschied zwischen einer Thin- und Fat-Client- Anwendung spreche , sondern nur zwischen der Entwicklung für eine Webbrowser-Plattform und einer Desktop-Plattform.
Update: Mit "Webanwendung" meine ich die Kombination HTML / CSS / JavaScript , nicht Rich-Internet-Anwendungen wie Silverlight. Diese sind Desktop-Anwendungen sehr ähnlich. Der Hauptunterschied besteht darin, dass sie in einer Sandbox ausgeführt werden.
quelle
Desktop-Anwendungen bieten eine weitaus bessere Benutzererfahrung als Webanwendungen.
Sicher, jede Option hat ihre Vor- und Nachteile, aber Sie müssen diese auch bewerten. Was ist für Sie wichtiger, Benutzererfahrung oder Plattformunabhängigkeit? Wir bewerten die Benutzererfahrung über viele Dinge. Ja, wir bringen Opfer, aber das gehört zum Leben dazu.
Eine Möglichkeit, Ihre Vorgesetzten zu überzeugen, besteht darin, ihnen zu beweisen, dass die Benutzererfahrung in einer Desktop-Anwendung nur wenige Jahre voraus ist, und sie davon zu überzeugen, eine Desktop-Anwendung zu erstellen, bevor Sie die Webanwendung erstellen.
Wir haben sowohl in unserem Unternehmen als auch bei unseren Kunden jeden Tag die Desktop-App der Web-App vorgezogen. Sie sind durchaus bereit, die mit der Verwendung einer Desktop-Anwendung verbundenen Nachteile in Kauf zu nehmen.
Ich liste die Vorteile einer Web-App nicht in meiner Antwort auf, wie es andere getan haben. Web-Apps und Desktop-Apps haben Vor- und Nachteile. Tue beides! Lassen Sie Ihren Kunden wählen. Setzen Sie sich mit mir in Verbindung. ;-);
quelle
Ich habe einiges an Entwicklung geleistet und sowohl umfangreiche Desktop-Apps als auch Websites geschrieben.
Im Allgemeinen ist das Schreiben von Code für eine Desktop-App einfacher. Es stehen mehr Steuerelemente zur Verfügung. Sie haben viel mehr Kontrolle über die Funktionsweise der App.
Um Webanwendungen schreiben zu können, müssen Sie HTML, CSS und Javascript sowie die Einschränkungen (oder Fehler, wenn Sie über IE sprechen) der Browser verstehen. Sie müssen sich um den Zustand sorgen und ihn beibehalten, und die Ihnen zur Verfügung stehenden Mechanismen sind begrenzt.
Trotzdem macht es mir im Laufe der Zeit immer mehr Spaß, Webanwendungen zu schreiben. Durch die Einschränkungen der Plattform können Sie die Dinge vereinfachen, und die Statuslosigkeit des Webs hilft dabei, einen Teil der Komplexität zu verwalten. Mein letztes Webprojekt wurde live geschaltet und das Geschäft erforderte praktisch keine Schulung, da nicht-technische Mitarbeiter jetzt mit Webseiten und deren Funktionsweise vertraut sind. Es ist auch großartig, einfach eine Lösung zu finden und sie sofort live zu schalten. Wenn Sie jemals mit dem Upgrade von Desktop-Apps gearbeitet haben, werden Sie zweifellos wissen, wie kompliziert und schmerzhaft es sein kann.
Vor kurzem hatten wir einige Erfolge mit einer gemischten Strategie (Webtop), bei der das Hauptsystem als Website geschrieben und dann eine clientseitige Anwendung für Hauptbenutzer bereitgestellt wurde, die mehr Funktionen benötigen. Dies kann entweder ein Browser-Steuerelement hosten (in Windows können Sie den IE einfach einbetten, in OS X können Sie dasselbe mit Safari tun) oder eine API verwenden. Ähnlich wie Twitter Ihnen eine Webversion bietet, aber Power-User können TweetDeck oder was auch immer verwenden.
quelle
quelle
Vorteile einer Web-App über Desktop-App : -
Nachteile einer Web-App über Desktop-App : -
Wenn die Netzwerkverbindung unterbrochen ist, ist dies auch für die App der Fall
Sie müssen mehrere Sprachen lernen, um eine Anwendung erfolgreich zu entwickeln (serverseitiges Scripting, SQL, XHTML / CSS usw.).
All dies sind nur einige der vielen Vor- und Nachteile, die Sie in diesem Gespräch finden können
quelle
Sowohl Web- als auch Desktop-Plattformen haben ihre Vor- und Nachteile. Für beide kann man gute Argumente vorbringen. Hybrid-Apps (teils Web, teils Desktop) haben diesbezüglich auch Vor- / Nachteile.
Die Anwendungsentwicklung sollte immer von Anforderungen bestimmt werden, nicht von Technologietrends oder religiösen Vorlieben oder vergleichenden allgemeinen Vor- / Nachteilen.
Haben Sie jemals versucht, eine Web-App an Leute in Gebieten der USA oder anderen Ländern zu verkaufen, in denen der Breitbandzugang nicht oder nur unzureichend vorhanden ist? :) Was ist mit mobilem Zugang? Native, webbasiert oder hybride? Was ist mit dem lokalen Zugriff auf Daten, wenn keine Internetverbindung besteht, falls dies erforderlich ist? Etc.
Beginnen Sie mit den Anwendungsanforderungen und arbeiten Sie sich zurück zur Technologie. Wenn Sie dies tun, treffen Sie die richtigen Entscheidungen und erhalten die beste Plattform für das jeweilige Projekt.
Beispiel: Nehmen Sie den Kommentar "Desktop-Anwendungen bieten eine weitaus bessere Benutzererfahrung als Webanwendungen." Wenn die Anforderung (A) den Zugriff von jedem Computer mit Webbrowser und Internetzugang an jedem Ort und zu jeder Zeit erfordert und (B) auch eine Desktop-ähnliche Leistung erfordert (z. B. Live-Datenbankdaten, für die keine Seitenaktualisierungen erforderlich sind), dann ( C) Der Entwickler wird dazu gebracht, Technologien wie AJAX, Flash, Silverlight, Java oder sogar native Clients zu berücksichtigen, die als Browsersteuerung geladen werden.
Ich sage nur noch einmal, seien Sie anforderungsorientiert, nicht technologiegetrieben.
quelle
Viele Punkte sind bereits erwähnt. Aber es gibt einige, denen ich nicht ganz zustimmen kann:
quelle
Abhängig von der Art der Anwendung. Wenn Sie eine CMS-Anwendung haben, kann diese nicht durch das Web ersetzt werden (zumindest einige Teile), da die Anwendung mit lokalen Ressourcen wie Drucker, Barcodeleser, Steuerdrucker, Anzeige usw. arbeiten muss.
Für diese Art von Anwendungen, die lokale Ressourcen benötigen, kann der Desktop nicht ersetzt werden.
Auch Desktop-Apps können für CMS-Anwendungen sehr viel schneller sein als das Web.
Stellen Sie sich einen großen Supermarkt vor, in dem viele Kunden darauf warten, ihre Bestellungen zu bezahlen und Fenster mit Webanwendungen zu bezahlen. Ich habe so etwas nicht gesehen.
Es gibt aber auch Web-Frameworks wie Oracle ADF, die noch mehr Reichweite haben als Desktop-ASsp. Mit ADF können Sie eine Web-App erstellen, die mit der Desktop-App identisch ist, ähnlich wie die Desktop-Apps erstellt werden. Aber ist es teuer, die Lernkurve ist hoch und erfordert "gute" Hardware.
Beachten Sie jedoch, dass Java-Skript für unternehmenskritische Apps nicht so gut für unternehmenskritische Apps geeignet ist, wenn es für das Web keine getesteten Komponenten verwendet.
quelle
Für mich, der normalerweise vollständig webbasiert ist, ist der Faktor, der mich zu Desktop-Apps bewegt, die Hardware-Integration. Web-Apps eignen sich hervorragend, wenn Sie nur Daten lesen und senden müssen. Wenn Sie jedoch mit Etikettendruckern oder anderer spezieller Hardware kommunizieren möchten, ist eine Desktop-App der einzig richtige Weg. Sie können diese mit Webdiensten oder Ähnlichem verknüpfen, wenn das Kontrollkästchen "Web App" unbedingt aktiviert sein muss. Die spezielle Hardwareunterstützung liegt jedoch größtenteils außerhalb des Bereichs des Browsers und ist viel sinnvoller Verwenden Sie vorhandene APIs, um darauf zuzugreifen.
quelle
Heutzutage ist die Unabhängigkeit der Linux / OSX / Windows-Plattform ein großes Merkmal. Dies hilft, einen viel größeren Markt anzusprechen
Es gibt natürlich die offensichtlichen Vorteile, dass die Anwendung überall auf der Welt verwendet werden kann ... zur Vereinfachung
quelle
Ich stimme den obigen Punkten zu ...
Ich möchte nur einige Profis in der Web-App hinzufügen: 1. Es sieht gut aus. Sie können auch die Themen ändern (ändern Sie einfach das CSS). Möglicherweise sieht die Desktop-App für einige Benutzer langweilig aus, aber die Wep-App. Sie können die Themen / das Design ändern und Ihren Benutzer (und Chef) beeindrucken.
Geräte sind billiger. Wenn Sie beispielsweise eine Anwendung mit .NET entwickeln, benötigen Sie Clients, die Windows installieren. In Webanwendungen kann jedoch jeder Client nach der Entwicklung mit jeder Plattform auf Ihre Webanwendungen zugreifen.
Die Entwicklung von Web-Apps ist einfach (sobald Sie sich mit CSS-Javascript und Framework auskennen) und kann Ihnen das Leben erleichtern.
Kein Virus und einfach für den Client bereitzustellen / zu installieren.
Nachteile: Die Benutzeroberfläche in Web-Apps ist komplexer und erfordert Kenntnisse in Javascript und CSS, um eine gute Qualität der Benutzeroberfläche zu erzielen.
Ich empfehle Ihnen, nicht von Grund auf neu zu erstellen (das wäre schmerzhaft), sondern die neuen Module in Web-Apps zu erstellen. das wäre klug :)
quelle
Der Hauptgrund für die Entwicklung einer Anwendung zu einem Web-Ansatz besteht darin, dass sie leichter zugänglich ist, als wenn Sie sie mit einer Desktop-Anwendung vergleichen würden. Wenn Sie dies tun, sollten Sie jedoch gut darüber informiert sein, was Sie je nach Ihren Anforderungen verwenden sollen.
Webanwendungen sind nur dann gut, wenn Sie nur Anwendungen entwickeln, die keine äußerst vertraulichen Daten weitergeben. Da Webanwendungen online bereitgestellt werden, sind sie anfällig für Hacker, als wenn Sie sie mit einer Desktopanwendung vergleichen würden. Eine Desktop-Anwendung könnte das Sicherheitsrisiko verringern als bei einer Webanwendung, obwohl es bereits Sicherheitsmaßnahmen gibt, um die Website zu sichern, aber im Laufe der Zeit werden die Leute Wege finden, diese Sicherheitsmaßnahmen zu zerstören, und ich glaube, dass die meisten Benutzer davon am meisten wussten vor allem die dort lebenden Hardcore-Hacker. Desktop-Anwendungen weisen ebenfalls Sicherheitslücken auf, sind jedoch sehr gering.
Aber wenn jemand wirklich darauf aus ist, Webanwendungen für die Bereitstellung von Lösungen zu verwenden, ist es besser, wenn er über das Risiko informiert ist, das auch für Entwickler von Desktopanwendungen besteht.
quelle
Ich möchte einen Vorteil von Webanwendungen vorschlagen, der weniger allgemein anerkannt wird. Eine gut gestaltete Webanwendung integriert normalerweise die Online-Hilfe in die Anwendung - Sie finden nicht die übliche ungeschickte Trennung zwischen der knappen, unverständlichen Desktop-App und ihrer ausführlichen, unorganisierten Hilfedatei. Dies ist möglicherweise ein kultureller Unterschied zwischen Webentwicklern / Designern und Desktopentwicklern.
quelle
Ich bin auch ein Bewunderer von Desktop-Anwendungen. Lassen Sie mich noch einige Nachteile von Webanwendungen anführen:
quelle
Sie haben Recht mit den Vorteilen, die Sie für Desktop-Anwendungen aufgelistet haben, und es gibt noch weitere, die Sie vergessen haben (wie Sicherheit, Wartung usw.). Der Hauptvorteil von Webanwendungen ist die Tatsache, dass sie über einen Webbrowser von verwendet werden können praktisch überall.
Visual WebGui ist eine Lösung, die genau darauf abzielt, da es die Entwicklung von Desktopanwendungen (Windows) und deren Ausführung als Webanwendungen ermöglicht, sodass Sie weiterhin die Vorteile der Desktopentwicklung und -bereitstellung (intuitiv, reaktionsschnell, benutzerfreundlich) und gleichzeitig nutzen können Genießen Sie die Zugänglichkeit von Webanwendungen.
Werfen Sie einen Blick darauf, es könnte Ihnen viel Zeit und Ärger sparen.
quelle
Meistens benötigt der Benutzer nur einen Browser, um Ihre Anwendung zu verwenden. Keine Notwendigkeit , alle die Bereitstellung Sachen Anwendung benötigt, und keine Notwendigkeit, darüber nachzudenken , warum Ihre Anwendung funktioniert nicht auf einem Client.
quelle
quelle
Ich habe Desktop-Schnittstellen zu meinen Apps entwickelt. In den letzten 3 Jahren bin ich zu reinen Webschnittstellen übergegangen. So habe ich es gemacht:
Alle Benutzer verwenden die neueste Version von Chrome und auf die Anwendung kann nur über das Intranet des Unternehmens zugegriffen werden. Die meisten Benutzer haben eine Desktop-Verknüpfung, die ihr Chrome im Vollbildmodus mit dem internen Server verbindet. Die weniger versierten Benutzer sind sich nicht einmal bewusst (und müssen es auch nicht sein), dass es sich nicht mehr um eine Desktop-App handelt.
quelle