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.
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. Die Geschäftsanwendungen dienen der Dateneingabe, Datenberichterstattung und möglicherweise einigen Diagrammen und der statischen Anzeige von Fotos.
Wie hilft WPF in diesen Apps? Bessere Datenbindung? 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. Außerdem denke ich, dass WPF nicht so umfangreiche Steuerelemente für die Datenbindung hat wie seine Winform-Gegenstücke (DataGridView..etc). AFAIK, Microsoft wird Winforms noch viele Jahre unterstützen.
Versuchen Sie, jemanden wie mich zum Wechsel zu überreden.
Antworten:
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.
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 ...
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.
Die Datenbindungsunterstützung ist wirklich erstaunlich. Es ist meine beliebteste Funktion auf der Plattform. Schauen Sie sich dieses wunderbare Datenbindungs-Cheatsheet an .
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.
quelle
Ich habe ziemlich viel Erfahrung mit Winforms und habe nur ein bisschen mit WPF gespielt, aber ich bin verkauft.
Warum?
VIEL mehr Flexibilität. Wenn Sie in Winforms etwas tun möchten, das nicht dem Standard entspricht, kommt es zu Schmerzen und Leiden, aber in WPF ist es einfach.
Viel bessere Datenbindung
Einfacher zu entwickeln (sobald Sie die Kernkonzepte verstanden haben, was leider eine Weile dauern wird)
quelle
Als ich anfing, mir WPF anzuschauen, behandelte ich es als "Winforms with Vector Graphics" und rannte direkt auf die Seite der Lernklippe. Der richtige Weg, um von WinForms zu WPF zu wechseln, besteht darin, eine heldenhafte Dosis des Betäubungsmittels einzunehmen, das Sie in die Hände bekommen können, um alles zu vergessen, was Sie wissen, und dann von vorne zu beginnen.
Im Ernst - es ist viel sauberer und einfacher, wenn Sie ein Muster wie Model-View-ViewModel verwenden. Lesen Sie mehr unter The Orbifold , diesem Google Groups-Thread und Channel9
Dann haben Sie irgendwann eine Offenbarung und beginnen, alles zu binden. Ihr Code-Behind wird nicht viel mehr als ein Aufruf von InitializeComponent ().
quelle
Danke für den Beitrag. Mein Unternehmen hat viel Zeit in WinForms investiert. Ich kann mir nicht vorstellen, in 32 Manntagen eine mittelgroße Anwendung herauszubringen. Unsere Zertifizierungszeiträume sind Monate und Release-Zyklen manchmal jährlich oder länger (obwohl wir so nah wie möglich an einer agilen Entwicklungsphilosophie festhalten). Dies ist die Art der Anwendungen, die wir entwickeln.
Ich habe gerade zum ersten Mal mit WPF gespielt und festgestellt, dass ich mit ElementHost einige Vorteile von WPF in WinForms erzielen kann. Ich habe eine WPF-Textbox erweitert, dann meine erweiterte Klasse in ein Win Forms UserControl eingeschlossen und habe jetzt eine WinForms-App, die dieses WPF-Textfeld verwendet, einschließlich Unterstützung für die Rechtschreibprüfung.
Ich bin beeindruckt, dass Microsoft darüber nachgedacht hat (Hosting von WPF in WinForms und umgekehrt), da ich wirklich nicht sehen kann, dass mein Unternehmen zu WPF wechselt, es sei denn, wir können über einen langen Zeitraum hinweg wechseln. Es wird einfach zu viel in WinForms investiert, um erneut zu starten. Aufgrund meiner jüngsten Erfahrungen kann ich anfangen, mit einigen anderen Entwicklern über meine jüngsten Erfahrungen zu sprechen und ihre Gedanken zu sehen. Ich denke, WPF wird einige Zeit brauchen, um sich daran zu gewöhnen, und das scheint mit anderen Kommentaren übereinzustimmen.
quelle
Nicht ganz ein Duplikat, aber Sie finden diesen Beitrag möglicherweise hilfreich in Bezug auf die Vorteile von WPF, abgesehen von den neuen Grafikbits.
WPF oder WinForms für interne Tools?
quelle
Überprüfen Sie einfach diese Suchergebnisse hier in Stackoverflow, um zahlreiche Antworten zu erhalten. https://stackoverflow.com/search?q=WPF+Winforms
quelle
Stellen Sie sich vor, Sie könnten dieselbe Benutzeroberfläche (XAML) von Ihrer ASP.NET/(Silverlight) -Seite mit Ihrer Desktop-App verwenden. Sie würden es nur einmal erstellen, aber an beide anschließen ... das ist eine der Absichten von WPF / XAML ... sind wir wirklich schon da? Noch nicht, aber näher.
quelle