2009-03-09 3 views
4

In meiner Firma entwickeln wir eine Reihe von Tools für den internen Bereich, die von einfachen Dienstprogrammen bis zu vollwertigen Editoren reichen. Die Prioritäten für diese Tools sind Stabilität, Benutzerfreundlichkeit und Turn-Around-Zeit (dh wie schnell neue Funktionen hinzugefügt werden können).WPF oder WinForms für interne Tools?

Wir haben WinForms bisher verwendet, aber es gibt ein paar neue Tools auf dem Zeichenbrett und ich überlege, ob wir mit WinForms fortfahren oder zu WPF wechseln sollten. Da wir die Umgebung kontrollieren, müssen wir uns nicht um .NET-Versionen usw. kümmern (obwohl wir vorerst auf XP laufen müssen).

Ich bin vertraut mit den grafischen Vorteilen von WPF (vektorbasiert, hardwarebeschleunigt, skinfähig), aber ich frage mich, ob es noch andere Aspekte von WPF gibt, die ein überzeugendes Argument für die Verwendung von WinForms darstellen .

Danke,

Antwort

11

Unterschätzen Sie nicht die Lernkurve. WPF kann wirklich großartig sein, und es kann ein Albtraum sein. Ich habe WinForms nur Entwickler gesehen, die mit WPF und dann mit ASP.NET hilfloser waren (selbst mit sehr geringen Kenntnissen der Webentwicklung). Während die meisten Entwickler einfach mit WinForms und ASP.NET arbeiten konnten, ohne irgendwelche Bücher zu lesen, und auf einer bestimmten Ebene produktiv waren, scheint dies mit WPF unmöglich zu sein.

Und vergessen Sie nicht über Komponenten von Drittanbietern. Ja, es gibt sogar neue Player auf dem Markt, und Jahre nach .NET 3.0 e. G. SoftwareFX konnte schließlich seine Charting-Lösung für WPF veröffentlichen (nur als Beispiel), aber der Komponentenmarkt für WPF ist immer noch deutlich kleiner (kommerzieller als auch Open Source), und oft sind WPF-Komponenten immer noch weniger leistungsfähig als ihre WinForms-Gegenstücke.

Ich stimme zu, dass die Architektur, e. G. Das Datenbindungskonzept ist großartig, wenn Sie einem Muster wie MVVM folgen, jedoch gibt es in MSDN nur sehr wenig Dokumentation zu Best Practice e. G. über MVVM, also müssen Sie Ihr Team auf Artikel im Internet und Bücher etc. verweisen.

Und Datenbindung ist bereits sehr mächtig und tatsächlich sehr ähnlich in WinForms 2.0. Es sieht so aus, als ob nur wenige Leute es kennen und es voll ausnutzen. (Vielleicht versuchten sie es nur in 1.1 und dachten, dass es zu kompliziert war ...)

2

ich für neue Anwendungen WPF rücken würde, weil es in der Regel nur schöner, mit und zu arbeiten, wie sie sagen, „die Zukunft.“

Es ist nichts falsch mit WinForms, also, wenn Sie damit bleiben wollen, sollte es keine Probleme geben.

3

Ich stimme Alex zu - wechseln Sie zu WPF. Eine mögliche Einschränkung ist, dass WPF nur auf XPSP2 und später funktioniert.

Ein Vorteil von WPF gegenüber WinForms ist, dass die Datenbindung von WPF viel mächtiger ist als WinForms. Dadurch können datengebundene Benutzeroberflächen sehr einfach zusammengefügt werden.

2

Ich mag viele der architechuellen Änderungen von WPF zur Verfügung gestellt. Das aktualisierte DataBinding-Modell an sich ist es wert, die Änderung für IMO vorzunehmen. Allerdings würde ich das gegen jeden möglichen Aufwand abwägen, der mit der Gruppe verbunden ist, die die Werkzeuge aufrechterhält, die mit WPF schneller werden.

1

Ich hätte die Verwendung von WPF abhängig von der Größe und Anzahl der Projekte. Je mehr Arbeit Sie vor sich haben, desto mehr Sinn macht es, die Macht von WPF zu nutzen. Für CRUD-Anwendungen werden Sie neben einigen Augenschmaus nicht viel an Funktionalität von WPF gewinnen.Wo Sie gewinnen werden, ist die mittelfristige Produktivität, da WPF einen sauberen Ansatz verfolgt und nicht einen, der sich bereits über die Jahre hinweg entwickelt hat und hochgradig gepatcht ist, obwohl er sehr gut angezogen ist, wie Windows Forms. Das Layout von Bildschirmen in XML hat seine Vorteile.

Für schnelle, kleine Werkzeuge würde ich mich jedoch an Windows Forms halten, bis die WPF-Kenntnisse erreicht sind, es sei denn, einer der Zwecke ist die angegebene Kompetenz.

3

Wählen Sie ein kleines Projekt aus, das in WPF ausgeführt werden soll, und bereiten Sie sich darauf vor, es völlig umzuwandeln, wenn Sie lernen, was WPF tun kann und wie es richtig verwendet wird. Behandeln Sie das Projekt als "Training", da es einige Zeit dauern wird, bis WPF funktioniert. Beharrlich aber, weil es das wert ist.

0

Wenn Ihr Unternehmen eine strategische Entscheidung in Betracht zieht, in Zukunft zu WPF zu wechseln, dann könnte es sinnvoll sein, mit internen Tools zu beginnen. Wenn Sie solche Pläne nicht haben, dann ist es nicht die Mühe wert, WPF einfach zu verstehen. Und wenn du denkst, dass vielleicht jemand nach einem strategischen Wechsel zu WPF suchen sollte und dies ein guter Anfang wäre, dann stelle sicher, dass es jemand ist, der genug Einfluss hat, um gehört zu werden.

Verwandte Themen