4 Stimmen

Silverlight, WPF oder Windows Forms?

Ich muss eine Desktop-Anwendung für Windows erstellen und bin im Zweifel, welche Technologie ich wählen soll. Tatsache ist, dass die Anwendung mit lokalen Ressourcen interagieren muss:

  • Kommunikation mit SQL (benötigt Unterstützung für SQLite und MSSQL - lokal und remote, und würde gerne NHibernate verwenden; vielleicht sogar mit ActiveRecord von Castle)
  • Interaktion mit Geräten, die über Bluetooth, Ethernet, USB und den seriellen Anschluss (COM) angeschlossen sind. Ich muss einen Bytestrom von Sensoren lesen, die über verschiedene Protokolle verbunden sind.

Ich würde Silverlight 4 bevorzugen und die Anwendung mit vollem Vertrauen auf dem Desktop laufen lassen. Aber ich sehe Probleme in Bezug auf diese beiden Anforderungen voraus. Gibt es eine Lösung für SL4, und wenn nicht, welche Alternative sollte ich wählen? Ich bin nicht auf WPF oder WinForms beschränkt, aber da es auf .NET laufen soll, bin ich mehr oder weniger auf diese 3 Optionen beschränkt (oder doch?)

5voto

vc 74 Punkte 36002

Mit einer Silverlight-Anwendung können Sie keine Verbindung zu einer SQL-Quelle herstellen, ohne einen Dienst zu erstellen, und Sie haben keinen einfachen (oder gar keinen?) Zugriff auf die lokalen Ressourcen wie den COM-Port. Wenn Ihre App Intranet-basiert ist, würde ich für WPF und Klick einmal Bereitstellung gehen.

3voto

Nir Punkte 28685

Wenn Sie erst einmal verstanden haben, wie man WPF/Sliverlight-Steuerelemente, Vorlagen und Datenbindung verwendet, werden Sie WinForms nie wieder anfassen wollen - es ist nicht nur so, dass WPF/SL Ihnen eine reichhaltigere Benutzeroberfläche bietet, sie machen es auch einfacher und weniger fehleranfällig, Anwendungen zu erstellen (insbesondere die Datenbindung).

Und es sieht so aus, als bräuchte man einen relativ einfachen Hardware-Zugriff, auch wenn es mit SL möglich ist, wird es mit vollem .net einfacher sein

Ich würde also WPF wählen

Denken Sie einfach daran, WPF/SL haben eine Lernkurve, wenn Sie nie ein WPF-Projekt Budget einige Zeit, um die Plattform zu lernen gebaut.

3voto

Rob Vermeulen Punkte 1856

WPF wäre die Waffe Ihrer Wahl.

API-mäßig ist WPF im Grunde eine Obermenge von Silverlight. Außerdem haben Sie die volle Kontrolle und vollständigen Zugriff auf lokale Ressourcen.

Wenn Sie mit .NET 4.0 vertraut sind, wird Ihnen Entity Framework als Alternative zu NHibernate wahrscheinlich gefallen. Nicht, dass es NHibernate in irgendeiner Weise übertrifft, aber es lässt sich wunderbar integrieren und ist im Paket enthalten.

Aber, wie Nir auch erklärte, gibt es eine Lernkurve für WPF.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X