Laden...

Technologieentscheidung im Unternehmen - Desktopanwendung vs. Webanwendung

Erstellt von uNki vor 12 Jahren Letzter Beitrag vor 12 Jahren 6.421 Views
U
uNki Themenstarter:in
58 Beiträge seit 2011
vor 12 Jahren
Technologieentscheidung im Unternehmen - Desktopanwendung vs. Webanwendung

hi!

ich möchte gern zu einem thema die meinung von profis, die womöglich selbst in ihren unternehmen vor der gleichen frage standen.
ich hoffe, dass ich hier fündig werde 😃

ich bin bei einem mittelständischen unternehmen der größenordnung ~300 MA beschäftigt und dort für interne projekte, speziell für interne softwareentwicklung zuständig.

da wir eine tochter eines größeren unternehmens sind, kommen wir auch in den genuss dessen it-infrastruktur (sql server, gigabit netzwerk, sap system, etc).

ich bin in meinem speziellen bereich (software entwicklung) der zweite mitarbeiter im unternehmen. der andere ist seit 2007 dabei. bisher wurden tools entweder in access erstellt und den mitarbeitern über netzlaufwerke zugänglich gemacht, oder es wurden asp webseiten erstellt, für auf dem hauseigenen server ruhen. zumeist handelt es sich um datenbank-tools und schnittstellen-programme zwischen verschiedenen systemen, bis hin zur kommunikation mit sap.

ich komme eher aus der ecke desktop-anwendungen und habe mit webanwendungen bisher nicht viel am gut gehabt.

der vorteil von webanwendungen liegt klar auf der hand: weitestgehend unabhängig vom zielsystem, aktualisierungen erfolgen zentral.

die nachteile sehe ich persönlich hier:
um eine asp.net webseite mit der gleichen funktionalität zu füllen, wie z.b. ein desktop-programm auf winforms-basis, braucht man (ich denke da geht es nicht nur mir so) wesentlich mehr zeit und es ist einfach umständlicher.
fast alles was client-seitig funktionalität mitbringen soll, muss - m.m.n. zeitaufwendig - mit javascript implementiert werden und ist letzten endes doch nicht das gelbe vom ei. weiterhin stören mich die ständigen ladezeiten beim postback.

privat arbeite ich derzeit z.b. mit devexpress controls und bin fasziniert in welch kurzer zeit man funktionalität und ansprechenede oberfläche vereinen und erstellen kann.

ich habe jetzt nach 3 monaten mein erstes - sehr umfangreiches - projekt abgeschlossen. auf webbasis ist das tool für mich undenkbar, das handling wäre für mich als anwender eine qual. die entwicklungszeit wäre sicher wesentlich länger gewesen.

nun zum wesentlichen:
im unternehmen ist die meinung was die zugrundeliegende technologie für interne applikationen angeht festgefahren - webanwendung auf asp.net basis. das liegt sicher daran, dass mein kollege überzeugter webentwickler ist.
seiner ansicht nach ist winforms "schrott" (überzogen ausgedrückt) und wird nicht mehr / sollte nicht mehr verwendet werden. plausible und wirklich stichhaltige argumente fehlen mir allerdings.
mit den devexpress controls z.b. vermisse ich NICHTS bei der erstellung von umfangreichen und überaus funktionalen desktopanwendungen.

er kritisiert:
desktopanwendungen lassen sich schlecht aktualisieren.
man kann sie schlecht den mitarbeitern zur verfügung stellen.

ganz ehrlich.. wir sind nicht im internet unterwegs und bieten endanwendern applikationen, die diese erst downloaden und installieren müssen. wir haben ein funktionierendes netzwerk, schnelles intranet, einen sql server der nicht im ansatz ausgelastet ist und damit alle möglichkeiten desktopanwendungen ohne probleme und langwierige download- und installationsphasen im haus zu verbreiten.

mir schwebt folgendes vor:

entweder man platziert die applikationen auf dem server, so dass sie über netzlaufwerke im intranet zugänglich sind. rechtevergabe kann man entweder über ordnerrechte oder über eine zentrale, selbst erstellte rechteverwaltung (über sql server + active directory) managen.
--> updateproblematik gelöst, einfach datei austauschen.
--> verteilung der applikation gelöst, da zentral im intranet.
--> keine rechte-probleme.

mein zweiter - und liebster - gedanke ist ein programm, eine art application-center, das auf den anwender-rechnern installiert ist und praktisch der ausgangspunkt für alle unternehmens-anwendungen darstellt - wie ein "homescreen".
es verfügt über ein rechtesystem, das ausgehend vom angemeldeten user weiß, welche applikationen dieser benutzen darf, diese aus dem intranet bezieht, in einer navigationsleiste auflistet und bei bedarf in einem mdi-child darstellt - ein konsistenter look vorausgesetzt, bemerkt niemand, dass es unterschiedliche "module" sind. mir schwebt sowas wie office 2010 vor. das menu als navigation bar und alles ist perfekt. ein eingebauter updater überprüft versionen und sorgt automatisch für die aktuellen programmstände.
praktisch wie sap, das auch ausgehend vom startbildschirm diverse transaktionen starten kann.
es wäre sogar denkbar, das bereits umgesetzte webanwendungen in einem eingebauten browserfenster laufen können.

so. laaaange rede gehalten.
wie seht ihr den sachverhalt und die verschiedenen standpunkte/argumente?

vielen dank und beste grüße,
steffen

Hinweis von herbivore vor 12 Jahren

Die Vor- und Nachteile wurde bereits in Webanwendungen im Vergleich zu Desktopanwendungen und Vergleich von Software-Architekturen (web- vs. clientbasiert) und sicher noch einigen weiteren Threads ausführlich diskutiert.

Davon abgesehen suchst du im Kern wohl einfach ein Software-Verteilungssystem. Solche Systeme sind in vielen Firmen Standard und es gibt es fertig zu kaufen.

C
2.122 Beiträge seit 2010
vor 12 Jahren

seiner ansicht nach ist winforms "schrott" (überzogen ausgedrückt) und wird nicht mehr / sollte nicht mehr verwendet werden. plausible und wirklich stichhaltige argumente fehlen mir allerdings.

Das ist völliger Schwachsinn. Sag deinem Kollegen mal er soll sich informieren. Web und Forms sind für einen unterschiedlichen Einsatz sinnvoll, das kann man gar nicht unbedingt vergleichen.
Es gibt vieles was man mit einer Webanwendung NICHT kann. Sobald das an Peripherie geht, oder auch nur anspruchsvollere Darstellungen einer Ansicht oder sonstige Anpassungen, die von einer 0815 Ansicht abweichen, Popupmeldungen, Messageboxen mit Stil (also nicht dieses Zeug was die Browser grad anfangen zu zeigen) ist eine Desktopanwendung unumgänglich. Ebenso wenn man ein sehr interaktives System hat, bei dem man nicht auf ständige Reloads warten will usw.
Zudem ist eine Webanwendung meines Erachtens komplizierter zu erstellen und zu warten. Immerhin ist die Anwendung auseinandergerissen, was Code und Darstellung betrifft. Das wirkt sich zwangsläufig auf die verfügbare Funktion aus. Es fängt schon damit an dass man sich mit Sessions um die Zustandslosigkeit rum drücken muss.
Außerdem ist man bei Web halt nur im Browser. Das Fenster ist so groß wie der Browser gerade will, keine MDIs, teilweise das Problem wenn mal jemand auf "zurück" klickt...
Für mich ist eine Webanwendung nur dann eine Alternative, wenn man keine Desktopanwendung ausliefern kann. Siehe Massenanwendungen wie Banking oder ähnliches

desktopanwendungen lassen sich schlecht aktualisieren.
man kann sie schlecht den mitarbeitern zur verfügung stellen.

Beispiel Firefox, der aktualisiert sich selber nach Wunsch.
Das mit der Freigabe eines Laufwerks ist doch auch gut. Wie oft installiert man eine Anwendung, verglichen mit der Nutzung?

Was soll die Anwendung denn tun? Das ist das erste worauf es ankommt.
Wenn man eine Anwendung vielen unbekannten Nutzern zur Verfügung stellen will, kommt man um Web nicht rum. Ansonsten würde ich es versuchen.
Ich merke gerade dass bei uns auch viel auf Web umgestellt wird. Schöner (optisch) wirds dadurch ganz sicher nicht und bedienbarer auch kein bisschen. Man sollte auch den Nutzer ein bisschen im Blick haben, der bestimmt nämlich gravierend den Ruf eines Systems. Auch wenns die Entwickler und Marketingleute erst mal nicht juckt.

Warnung von herbivore vor 12 Jahren

Bitte diskutiert sachlich und schaltet vor allen dem Glaubenskriegsmodus aus!

G
497 Beiträge seit 2006
vor 12 Jahren

im Unternehmen haben Winforms-Anwendungen durchaus ihre Nachteile. Aktualisierung ist da so ein Thema. Der Firefox, der sich selbst aktualisiert, macht das nämlich auch nur, wenn der Benutzer die entsprechenden Berechtigungen hat. Die hat ein Endanwender in einem Unternehmen aber nicht. Also bleibt Firefox 3.5 noch viele Jahre Firefox 3.5, bis die IT sich für eine Softwareupdate-Lösung entscheidet. Diesen Weg kann man dann natürlich auch für eigene Anwendungen gehen, aber das ist zusätzlicher Aufwand, der für die Webanwendung nicht nötig ist. Moderne Webanwendungen können zudem auch eine Web-API bereitstellen, über die man Daten in anderen Anwendungen nutzen kann. Ich mach mittlerweile auch relativ viel über Webanwendungen, eben weil ich mit Deployment und Wartung auf Clientsystemen nichts mehr zu tun hab. Und wenn mein Chef da was auf seinem iPad sehen möchte, ist das auch kein Problem.

D
24 Beiträge seit 2009
vor 12 Jahren

im Unternehmen haben Winforms-Anwendungen durchaus ihre Nachteile. Aktualisierung ist da so ein Thema. Der Firefox, der sich selbst aktualisiert, macht das nämlich auch nur, wenn der Benutzer die entsprechenden Berechtigungen hat. Die hat ein Endanwender in einem Unternehmen aber nicht. Also bleibt Firefox 3.5 noch viele Jahre Firefox 3.5, bis die IT sich für eine Softwareupdate-Lösung entscheidet.

Ist alles gar nicht so problematisch. Bei uns bekommt jeder Benutzer einen Launcher auf den Rechner installiert, der den "Home-Screen" startet. Der Launcher prüft beim Start, ob eine neue Version im Netzwerk liegt und tauscht dann ggfls. die Dateien aus. Läuft alles wunderbar 😃

G
497 Beiträge seit 2006
vor 12 Jahren

klar geht das. Nur muss man auch den Launcher und den Update-Mechanismus mitentwickeln. Das relativiert den Mehraufwand, den man im ersten Moment bei ASP.Net-Anwendungen vermutet.

16.841 Beiträge seit 2008
vor 12 Jahren

Ich bin auch einsamer Webentwickler in einem größeren Unternehmen (>8000); ich verschiebe immer mehr Anwendungen auf den Webserver, die sonst über die Jahre hinweg als Desktop-Lösungen zum Einsatz kamen.
Ich beschäftige mich seit fast 10 Jahren mit dynamischen Webanwendungen und tu mich wahrscheinlich so schwer mit Desktop-Lösungen, wie andere mit Webanwendungen. Man muss ganz anders denken und auch anders entwickeln.

Aber es kommt schlichtweg auf den Sinn an; nicht jede Anwendung macht auf dem Desktop sinn - und auch nicht jede im Web.

Es ist ein Trugschluss, dass sich nicht jede Anwendung im Web umsetzen lässt. Selbst aufwendige 3D Anwendungen können dank WebGL im Browser laufen.
Es kommt zudem auf den Entwickler an, wie fit er bei HTML / CSS / JS ist, und wie schnell und einfach sich etwas umsetzen lässt.

WinForms hinkt aber seiner Zeit einfach hinterher. WPF ist hier State-of-the-Art.
Es ist umständlich und unstrukturell; es fehlt die wirkliche Trennung zwischen Code und GUI - da hilft auch DevExpress nicht. Aber tot ist es deshalb noch lange nicht; und wird so schnell auch nicht sterben.
Trotzdem würde ich mir zwei mal überlegen, ob eine NEUentwicklung auf WinForms noch sinn macht.

Zudem ist ASP nicht ASP. Es gibt ASP WebForms, was WinForms nahe gestellt werden kann - und es gibts ASP MVC, was eher in die Denkweise von WPF passt. Du solltest genauso wenig Webanwendungen über einen Kamm scheren, wie Dein Kollegen die Desktopwelt.
Wenn jemand die Web-Welt im Griff hat, wird er einem Desktop-Entwickler in nichts nach stehen.

Ihr habte beide da eure Vorurteile.

B
357 Beiträge seit 2010
vor 12 Jahren

Ich denke nicht, dass man so etwas per se einfach entscheiden kann. Es kommt stark drauf an, was damit gemacht werden soll.

225 Beiträge seit 2005
vor 12 Jahren

Auch wenn mir die Aussage jetzt schwer fällt... Arbeite Dich endlich in WPF ein! Eigentlich sage ich das zu mir selbst 😉
Das vereint doch alle Vorteile der heutigen modernen Programmierung. Aber es gilt zu bedenken, das man dann wieder den Faktor Wirtschaftlichkeit beachten muss, denn WPF dauert länger als Forms, aber kürzer als ASP.

Schwer zu sagen... Ich würde mich mit dem Kollegen zusammensetzen und Kriterien festlegen an denen man das von Fall zu Fall entscheiden kann.
Das Rollout im Netzwerk ist kein Argument, Automatic-Update ist doch mittlerweile Strandard mit C#.

Aber wahrscheinlich spielt bei Euch beiden auch ein wenig die "Angst vor der Welt" des anderen mit rein! Schwer bzw. zeitaufwendig beides hochprofessionell zu beherrschen.

Viel Glück!

16.841 Beiträge seit 2008
vor 12 Jahren

Aber es gilt zu bedenken, das man dann wieder den Faktor Wirtschaftlichkeit beachten muss, denn WPF dauert länger als Forms, aber kürzer als ASP.

Mit solchen Aussagen wäre ich vorsichtig und würde das nicht als Allgemein-Formel bezeichnen! Auch hier gilt: es kommt auf die Aufgabe und den Entwickler an.

Gibt Entwickler, die schreiben Dir ASP Anwendungen schneller als jeder Forms-Entwickler. Und es gibt Entwickler, die schreiben Dir WPF Anwendungen schneller als Du den Editor öffnen kannst. Zudem kommt es wie immer auf das Anwendungsziel an. Verteilte Anwendungen sind mit ASP viel einfacher zu lösen, als mit Windows Forms - und zeitlich auch schneller. Aber versuch mal einen GRafikeditor mit HTML umzusetzen. Hier ist WPF bestimmt geeigneter. Anderes Beispiel: Dynamische GUI-Elemente für jede Art von Monitor und Auflösung halte ich in WPF für deutlich komplexer als in HTML.

Deine allgemeine Zeit-Hierarchie ist also wie Du siehst für die Katz.

Aber welche Technologie sich für welche Aufgabe am besten eignet kommt schlicht und einfach auf das jeweilige Projekt an.
Es gibt keinen perfekten Weg. Nie.

Gelöschter Account
vor 12 Jahren

Ich bin auch Desktop Application Entwickler (und bei der blossen Erwähnung von DevExpress kriege ich inwzischen Hasspickel)
WindowsForms als Schrott zu bezeichnen ist natürlich Unsinn auch wenn man den Eindruck bekommt das es inzwischen ein ungeliebtes Stiefkind von Microsoft ist da man aus Produktstragie die Entwickler lieber zu WPF und Co. ziehen möchte( Stichwort Metro) Frag deinen Kollegen mal was er denn für die Desktop-Entwicklung für tauglich hält. Dein Kollege hält in der Basis eigentlich nur nichts vom Konzept der Desktop Applications, gut das ist eine zu akzeptierende Meinung.

Welche Lösungskonzept am Ende besser ist hängt immer vom Einzelfall ab und wie so oft gibt es darauf keine pauschale Antwort. Oftmals ensteht am Ende auch ein Mischkonzept und das ist völlig okay so.

Die beiden Kritikpunkte deines Kollegen sind ziemlicher Quatsch, allerdings muss man auch sagen das man sich bei einer reinen Weblösung diesbezüglich natürlich weniger bis garkeine Gedanken um solche Dinge machen muss.

Ich habe mal an einem Projekt mitgearbeitet bei der die bestehende Weblösung via Browser durch ein gemischtes Desktop Application Konzept ersetzt wurde. Im System konnten Mitarbeiter Daten eintragen / Steuern / Reports generieren usw. Hierbei gab es eine Personalhierachie Abteilungen usw. Immer so gegen 16 Uhr fingen etwa 2000 Mitarbeiter an ihre Daten einzutragen was die Server over capacity führte die eigentlich sonst kaum ausgelastet waren. Die Umstellung auf eine Desktop Application die mitgedacht hat, Daten auch mal lokal commited hat(ähnlich wie Git) war am Ende die Lösung, mit der Desktop Lösung sind dort heute alle viel zufriedener.

F
10.010 Beiträge seit 2004
vor 12 Jahren

Ich finde es witzig wie hier die verschiedenen Leute von Ihren eigene Vorlieben ausgehend ohne einen blassen schimmer zu haben einfach über andere herziehen.

@Abt:
Nur weil man die Daten in WF in die Controls frickeln kann, heißt es nicht, das man es auch machen muss.
Man kann so einen Blödsinn auch in WPF oder ASP.NET machen.

@husky410:
Wieder so eine nicht belegbare Aussage.
Ich kenne Leute die bauen dir in WPF per editor so schnell eine Datengetrieben Anwendung das dir schwindelig wird.
Genauso habe ich Freunde die per ASP.NET MVC mal eben Sachen machen die andere nicht mal überhaupt hinbekommen.
Genauso kann man mit den richtigen Tools und Erfahrungen in kurzer Zeit mit Windowsforms genauso etwas machen.

@GarlandGreene:
Dafür gibt es doch ClickOnce, damit man ohne Adminrechte Anwendungen aktuell halten kann und diese zentral Verwaltet.

Insgesamt zeigen die Antworten hier wiedereinmal das keiner bereit ist über seinen Tellerrand zu schauen.

Hinweis von herbivore vor 12 Jahren

Auch wenn es leider etwas provokant formuliert ist, in der Sache hat FZelle sicher recht. Ich hatte ja schon oben eine sachliche, möglichst von eigenen Glaubensgrundsätzen freie Diskussion angemahnt.

Das heißt aber nun auf keinen Fall, dass sich jeder Kritisierte einzeln rechtfertigen muss. Passiert ist passiert. Setzt die Diskussion bitte rein inhaltlich fort.

C
2.122 Beiträge seit 2010
vor 12 Jahren

Also ich würde mal sagen es hat beides seine Berechtigung.
Das heißt ja nicht dass deswegen alles NUR per Web/Desktop gemacht werden muss oder soll. Wie es halt grad Sinn macht.
Diesen Sinn muss jeder selber finden. Man sollte nur nicht mit etwas zu banalen Argumenten kommen wie dass es halt neu ist, oder die Sache mit den Updates.

Ja dieses Schlüsselwort "neu" hat oft auf Leute einen Einfluss die vor lauter Entscheidungsbefugnis keinen Platz mehr für Ahnung haben.... (bitte nicht gleich angesprochen fühlen, ist doch oft so) und die entscheiden dann halt. Da hab ich auch schon Dinge erlebt, bis man das überhaupt erst mal verstanden hat und dann darf man jemandem seine wirren Gedanken wieder ausreden.

Ich mache zum Beispiel Desktopanwendungen, die ich mir im Web nicht vorstellen kann. Wenns drum geht selber irgendwo rein zu zeichnen, Bildbearbeitung, intensive Datenhaltung pro offenem Programm, Infos in die GUI zu pushen, Dateien öffnen und lokal verarbeiten und so, sehe ich im Desktop einen Vorteil.
Aber wenn jemand diese Sicht jemand etwas aufweiten will, sehr gerne!

Wir kriegen hier sowieso kein Ergebnis hin von wegen x ist top und y ist flop. Dann zählt doch lieber jeder mal auf was er am einen mag und am anderen nicht, oder wie man gewisse Problemfälle doch noch lösen kann.