| 

.NET C# Java Javascript Exception

15
Hallo,

ich suche noch nach einem wirklich guten Grund um von WindowsForms auf WPF umzusteigen.

Ich war lange der Meinung, dass ich WPF-Anwendungen relativ problemlos nach Silverlight transformieren könnte um somit auch gleich eine Weblösung zu haben. Aber dem scheint ja nicht wirklch so zu sein.

Trennung zwischen Layout und Code ist in WPF (MMVM-Pattern( besser gelöst als WindowsForms.
Aber auch in WindowsForms kann ich Oberfläche von Logik trennen.

WPF wird zwar auch in Windows 8 unterstützt werden. Aber hat WPF langristig wirklich eine Zukunft?

Warum also WPF?

Ich freue mich auf eure Gründe!
Vor allem WPF <--> Silverlight-Transformation interessiert mich :-)

Silvy
16.05.2012
Silvia1963 320 2 7
1
Die Frage wäre in der Lounge vielleicht besser aufgehoben: http://codekicker.de/lounge, da sie m.E. eher auf einer Diskussion als auf eine Lösung abzielt.
Matthias Hlawatsch 16.05.2012
3 Antworten
4
WindowsForms wird seit 2005 nicht mehr weiterentwickelt. Es ist eine tote Technologie.
Wenn man geschickt vorgeht, kann man sehr wohl eine WPF und Silverlight Anwendung parallel entwickeln.
Ich habe hier bereits etwas dazu geschrieben.
WPF, Silverlight, Windows Phone 7 und zukünftig WinRT bauen alle auf XAML auf.
Insofern kommst Du auch nicht um diese Technologie herum, es sei denn Du überspringst alles und gehst direkt zu HTML5/JavaScript.

Wenn man einmal das Prinzip hinter XAML verstanden hat (Binding und all die Hilfskonzepte, um MVVM durchzuziehen), dann kann man zukünftig auf vielen Devices parallel entwickeln.

Dirk
Bearbeitet: Fehler beseitigt
16.05.2012
judgy 2,8k 8
1
Weil die Frage grad nochmal wieder hochgepoppt ist: die letzten neuen Features für Windows Forms gab es Ende 2007, nicht 2005, mit .NET 3.0:
http://msdn.microsoft.com/en-us/library/bb762963%28v=vs.90%29.aspx
Bugfixes und Anpassungen an neue Windows-Versionen gab es auch noch in den Folge-Releases. Richtig "tot" ist Windows Forms also nicht. "feature complete" und "in maintenance mode" trifft es aus meiner Sicht besser.
Matthias Hlawatsch 17.05.2013
1
Naja, wann ist eine Technolgie tot?
Vielleicht ist der Begriff 'legacy' besser: Der Lebenszyklus der Technologie geht zu Ende.
Auch mit VB6 läßt sich noch Software für Windows 8 entwickeln, aber ist es sinnvoll?
Es steht ja im Moment selbst zu Diskussion, ob nicht auch WPF seinen Lebenszyklus beendet, da es kaum Neuerungen in letzter Zeit gibt-verglichen zB mit ASP.NET MVC.
WinForms, Silverlight, WP7, IMO auch WP8 (weil es wohl mit Win Blue mit WinRT zusammen läuft) sind garantiert legacy.
Ob XAML/C# sich gegen HTML5/JS behaupten kann, wird sich wohl erst in den nächsten 1-2 Jahren zeigen.
judgy 17.05.2013
zwar tot, aber immer noch sehr lebendig. Vieles geht mit Winforms einfach schneller von der Hand. Vor allem in Intranets ist das ganze immer noch sehr beliebt. Wo Design eher keine Rolle spielt und man mal was schnell basteln muß, ist das Ganze immer noch besser als WPF
mober 03.04.2014
4
@mober: *Wenn man schnell etwas basteln will*..
Pfusch geht immer schnell. Egal welche Technologie. ;-)
Und ich bezweifele, dass Du mit WinForms schneller bist, als ich mit WPF. Ganz einfach, weil ich mit Templates, wie es sie z.B. für das MVVM Light Toolkit gibt, entkoppelte Views/Controls schneller erstelle als Du mit WinForms in der Codebehind Datei Dein Chaos pflegst ..
Und nach einer Woche schaut es bei Dir keiner mehr durch, bei mir schon :-)
judgy 03.04.2014
@judgy: na du musst aber ein ganz toller software-hecht sein (voll des selbstlobes) und du scheinst ja meinen code auch ganz gut zu kennen und unterstellst mir spagetticode zu produzieren (aber so sinds die (natur-)wissenschaftler, die meistens in irgendeiner geschützten werkstätte agieren dürfen und glauben die wahrheit gepachtet zu haben). wie auch immer, MVC geht auch gut mit winforms. und ja, es ist (leider) oft so, daß man in it-abteilungen in kürzester zeit "hinschustern" muss. kaum budget und kaum zeit, aber dafür viel Druck etwas auf die beine zu stellen. so ist die realität.
mober 05.04.2014
@mober: Habe ich Dir etwas getan?
Wenn Du an einem konstruktiven Austausch mit mir hier nicht weiter interessiert bist, kann ich auch schweigen.
Das nennt man dann YAGNI.
judgy 06.04.2014
2
Ich habe auch lange überlegt, ob wir unsere Windows-Forms-Anwendungen auf WPF migrieren sollten. Letztendlich ist es der wankelhaften Strategie von Microsoft zu verdanken, dass ich es nicht getan habe.
Nachdem MS signalisiert hat, dass Silverlight nicht mehr wirklich weiterentwickelt wird (was ich sehr bedauere), haben sich die Prioritäten zugunsten HTML5/Javascript verschoben.

Ich muss auch ehrlich zugeben, dass die Art der Datenbindung in WPF/Silverlight für viele Entwickler (mich eingeschlossen) doch sehr ungewohnt ist/war und einiges an Eingewöhnungszeit kostet.

LG, Micha
19.05.2012
mblaess 1,1k 8
1
Um HTML5/JS kommt man zukünftig sicherlich nicht herum, aber es baut dann doch auf einem anderen Paradigma auf ("Webentwicklung erobert Desktop") und steht ganz am Anfang.
Ich sehe JavaScript als Mittel zum Zweck. Eine schöne Sprache ist es nicht.
Und ja, Microsoft hat bei WPF/Silverlight/XAML-WinRT das Prinzip MVVM nicht zu Ende gedacht und implementiert. So bleibt es dem Entwickler mit Zusatzaufwand und viel Einarbeitung überlassen, eine saubere Anwendung zu entwickeln.
Der Schwerpunkt liegt zu sehr auf dem Marketing - man sieht es am 'Rückschritt' zu JavaScript
judgy 22.05.2012
Imho wollen die Kunden zu 90% Webanwendungen haben.
Nur in wenigten Fällen, wo z.B. externe Geräte, Messinstrumente etc. angebunden werden, programmieren wir noch Desktop-Anwendungen mit Windows-Forms.

Als Maßregel empfehlen wir jedem Kunden ab 5-10 Clients auf Desktopanwendungen zu verzichten, da der Wartungsaufwand einfach zu hoch ist.

Von daher ist HTML5/Javascript mMn kein "Mittel zum Zweck" sondern ein Muss. Javascript ist vielleict keine schöne Sprache, dafür aber (für viele Programmierer) einfacher zu erlernen als WPF.


mblaess 22.05.2012
1
Ich würde sagen, das hängt vom Kundenkreis ab. Bei unseren kann ich mir das nicht vorstellen bzw. allein für uns intern schon nicht. Vielleicht liegt's am Design aber Webanwendungen verbinde ich immer mit Klicken und weniger mit Hotkeys und guter Tasturnavigation.

Kunden mit mehr Clients können auch problemlos auf TFS oder andere Lösungen umsteigen, dann reduziert sich auch der Wartungsaufwand, zumal es ja doch noch mehr Software auf dem Rechner gibt, als nur DIE Fachanwendung. Und Google-Docs in der Cloud ist nicht jedermanns Sache.
Trotzdem ist die Frage über die Zukunft natürlich da.
Jens Duczmal 22.05.2012
Nur mal als Interessensfrage:
Kann der Team-Foundation-Server (v.a. die Express-Version) automatisch Releases verteilen, wenn die Anwender keine Admin-Rechte haben?
mblaess 22.05.2012
1
Für Intranets innerhalb von Firmen sehe ich Silverlight als ideale Lösung: Schnell, SSO, einfach zu deployen. Wenn man direkt auf Controls wie z.B. Telerik setzt, muss man sich auch nicht sehr um das Design kümmern. Mit dem Einsatz von PRISM hat man auch Muster Templates für den modularen Aufbau mit MVVM. Es muss sich nur eine Person mit der Achitektur auskennen. Die anderen können an den ViewModels, Services und Backend entwickeln ohne wissen zu müssen, wie das genau mit MVVM funzt. Silverlight wird offiziell auf jeden Fall bis 2021 unterstützt. Da ist man fast sicherer als mit HTML5/JS.
judgy 22.05.2012
1
Gibts für die 2021-Behauptung eine Quelle? Würde gerne mal gucken, was da über WPF steht.
Jens Duczmal 23.05.2012
@Jens Meintest Du in Deinem ersten Kommentar mit "TFS" wirklich den Team Foundation Server? Wenn ja: wie war das gemeint?
Oder hattest Du eher an Windows Terminal Services gedacht?
Matthias Hlawatsch 23.05.2012
1
@Jens "silverlight 2021" googeln: http://support.microsoft.com/gp/lifean45#sl5
Kleine Hintertür in der Formulierung: wenn die derzeit unterstützten Browser/OS-Kombis vorher aus dem Support laufen, denn neue Versionen werden "nach Bedarf" hinzugefügt.
WPF gilt als Teil von .NET, also (seit 3.5SP1) als Teil des Betriebssystems und unterliegt somit den Windows-Support-Zyklen:
http://support.microsoft.com/lifecycle/?p1=14380
Matthias Hlawatsch 23.05.2012
Nein, ich meinte natürlich TSE, Terminal Server. Im Abkürzungswahn kommt man schon mal durcheinander :)
Danke für die Links.
Jens Duczmal 23.05.2012
2
@Jens: hatte ich mir doch gedacht ;-)
@mblaess: Der TFS ist hier nur durch einen Tipp-Fehler in die Diskussion mit hineingeraten. Vielleicht machst Du für Deine Frage lieber einen neuen Thread auf?
Matthias Hlawatsch 23.05.2012
@Matthias: vielen Dank für Deine Unterstützung.
mblaess 23.05.2012
1
Wem die Perspektive eines gerade erst Umgestiegenen (2014) interessiert, hier mein Bericht:

Ich habe gerade ein kleines Projekt hinter mir das ich mit WPF umgesetzt habe.
Es handelt sich um ein Tool das die Erstellung von neuen Active Directory Gruppen (mit Untergruppen/Usern für Gruppen/User 1000+) unterstützt und vereinfacht.

Umgesetzt wurde das Ganze nach dem MVVM-Pattern ohne zusätzliche Frameworks wie Caliburn.Micro oder Prism, da es nur um zwei/drei Views ging.

Was soll ich sagen, ich bin begeistert von der Einfachheit und Klarheit des Codes, die ViewModels können fast zu 100% mit Unittests abgedeckt werden.

Viele Probleme die auf dem Weg aufgetretten sind konnten via Internet Recherche schnell und einfach behoben werden.
Die Gui kann wirklich komfortabel und einfach mit Daten versorgt werden und mitlerweile bereue ich ein größeres Projekt das 2010 gestartet wurde noch mit WinForms umgesetzt zu haben.
Meine Beweggründe waren damals das ich schon WinForms-Erfahrung hatte und diese nicht wegwerfen wollte, die Unterstützung seitens Visual Studio, sprich ähnliches Handling wie bei den WinForms war nicht so gegeben...
Mittlerweile verzichte ich gänzlich auf Parametrierung alla WinForms im Property-Fenster und schreibe alles direkt als XAML.

Von mir bekommt WPF das Prädikat geil++

Schade das MS WPF schon für tot erklärt hat, allerdings ist WinForms schon länger tot und wird trotzdem lt. der letzten dotnetpro Umfrage doch noch mehr verwendet als WPF, also was solls.

Ich bin mir sicher, dass es auch in Zukunft noch Bedarf an Desktop-Applikation gibt und nicht alles ins Web wandert und genau für das ist WPF ideal.
09.04.2014
cybere 343 9

Stelle deine .net-Frage jetzt!