Ich kenne asp.net und Winform-Entwicklung. Ich bin nicht der Typ Entwickler, der in eine neue Technologie einsteigt, nur weil sie neu ist. Es muss mir zusätzliche Vorteile wie eine höhere Produktivität bieten.
Für mein Team hat sich WPF als viel schneller als WinForms erwiesen, um Anwendungen mit zu entwickeln. Wir haben kürzlich eine mittelgroße App in 32 Manntagen veröffentlicht. Wir hatten den Vorteil eines erfahrenen WPF-Entwicklers im Team und unerfahrener Leute, die die Technologie unbedingt lernen wollten. Die Moral war großartig und die Produktivität beeindruckend.
WinForm ist eine ausgereifte, bewährte Technologie und ich mag die Tatsache, dass ich in Visual Studio alles gegen mehrere IDEs für WPF (VS & Blend-Familie) tun kann.
Betrachten Sie sich als Handcodierer oder Drag-and-Drop-Codierer? Wenn Sie sich als Drag-and-Dropper betrachten, ist die aktuelle Ernte von WPF-Werkzeugen möglicherweise nicht für Sie geeignet. Vielleicht auf Visual Studio 2010 warten? Ich arbeite fast ausschließlich in XAML. Die meisten WPF-Benutzer werden wahrscheinlich zustimmen, dass dies derzeit die effektivste Methode zum Erstellen von WPF-Anwendungen ist. Aber dann bastle ich mein HTML auch von Hand, so dass es sich für mich natürlich anfühlt ...
Was sind die Vorteile von WPF gegenüber Winforms für reine Geschäftsanwendungen? Ich interessiere mich nicht für die zusätzliche Augenweide, Animation, Farbverläufe, Bildanzeigeeffekte usw., die WPF bietet.
Früher habe ich so gedacht, aber kürzlich habe ich eine Geschäftsanwendung entwickelt, die Farbverläufe, grundlegende Animationen und Effekte enthält. Diese ausgefallenen Funktionen wurden hinzugefügt, um die Benutzererfahrung zu verbessern. Warum sollten Geschäftsanwendungen Battleship Grey sein? Warum sollten sie unbrauchbar sein? Zugegeben, es sind nicht Farbe, Farbverläufe oder Animationen, die eine Geschäftsanwendung nutzbar machen, aber die Verwendung dieser Effekte kann die Benutzererfahrung verbessern, und das ist mir wichtig. Ich hätte alles tun können, was ich in der WPF-App in WinForms getan habe - es hätte einfach viel länger gedauert.
Bessere Datenbindung?
Die Datenbindungsunterstützung ist wirklich erstaunlich. Es ist meine beliebteste Funktion auf der Plattform. Schauen Sie sich dieses wunderbare Datenbindungs-Cheatsheet an .
Versuchen Sie, jemanden wie mich zum Wechsel zu überreden.
Ich habe beschlossen, dass ich nicht versuchen werde, andere davon zu überzeugen, zu WPF zu wechseln. Die Entwickler, die ich zu "überzeugen" versucht habe (alle erfahrenen Winforms-Entwickler), haben normalerweise Probleme mit der Plattform. Sie sind nicht in die Technologie investiert. Sie "verstehen es nicht". Ich ermutige die Leute, die Technologie zu überprüfen, um festzustellen, ob sie für sie als Entwickler richtig ist. Die Lernkurve ist riesig. Wenn Sie anhand von Büchern lernen, lesen Sie in diesem SO-Beitrag einige Mini-Rezensionen zu WPF-Büchern. Wenn Sie anhand von Videos lernen, sehen Sie sich die WPF-Videos von windowsclient.net an . Wenn Sie anhand eines Beispiels lernen, sehen Sie sich dies oder das an Beitrag. Vergessen Sie alles, was Sie über WinForms wissen. WPF scheint ASP wirklich näher zu sein als WinForms. Erstellen Sie einige Beispielanwendungen. Sehen Sie, ob es für Sie und Ihr Team funktioniert.
Da Sie über mehrere Fachkenntnisse verfügen (asp.net/winform-Kenntnisse), können Sie den Vorteil einer Qualifizierung in WPF erkennen, da diese sehr eng mit Silverlight verbunden ist. Silverlight füllt diese Lücke zwischen Ihren Rich Client-Anwendungen und Webanwendungen.
Ich persönlich bin der Meinung, dass WPF die beste clientseitige Technologie ist, die für das .NET-Framework verfügbar ist, und dass die Entwicklung in WinForms für zukünftige Arbeiten im Allgemeinen vermieden wird. YMMV
Viel Glück bei Ihrer Entscheidung.