Welche UI-Technologie soll verwendet werden? [geschlossen]

7

OK. Es tut mir leid, dass ich eine oft gestellte Frage noch einmal gestellt habe, aber ich bin VERWEILT!

Zuerst meine Anforderungen.

  1. Entwickeln / Bereitstellen unter Windows XP / 7.
  2. Einfach zu bedienen und optisch ansprechend für einen nicht so technisch versierten Benutzer.
  3. Regelmäßige Berichterstattung von Daten einer Non-Profit-Organisation.
  4. Nachdem .NET das bevorzugte Backend ist, habe ich bereits ein Jahr lang c # und das Framework gelernt.

Jetzt meine Probleme.

  1. Es gibt so viele widersprüchliche Meinungen im Internet. Einige sagen WinForms sind tot und WPF ist der Weg zu gehen.
  2. Ich hatte mich fast über WPF entschieden, als ich das las: Ссылка . Er sagt, dass WPF tot ist!
  3. Soll ich stattdessen einfach die Desktop-Technologien und den Fokus der Web-Technologien aufgeben? Es wird auf jeden Fall einfacher zu implementieren sein, aber selbst in vollem Vertrauen, verliere ich nicht die OS-bezogenen Vorteile, die die Desktop-Technologien haben?
virtualmic 14.09.2010, 09:27
quelle

6 Antworten

2

WPF ist jetzt hier und es funktioniert jetzt und "tot" oder nicht es wird nicht verschwinden in Eile (Visual Studio ist mit WPF wie Expression gebaut, entblößt Microsoft verlieren ScottGu die eine oder andere meine Meinung ist, dass Sie kann darauf zählen, dass es - für den Entwickler - noch eine Weile unterstützt wird.

Erstellen Sie Ihre App richtig und am Ende ist das "WPF" -Bit im Wesentlichen nur eine Präsentationsebene über Ihrer Anwendung, so dass Sie in Zukunft Änderungen vornehmen können.

In Bezug auf Fähigkeiten ... WPF kann oder auch nicht tot sein, aber Silverlight hat definitiv einige Beine und die Fähigkeiten sind im Wesentlichen übertragbar (und der XAML ist ziemlich ähnlich).

    
Murph 14.09.2010, 09:34
quelle
11

Hmm, knifflige Frage - hauptsächlich weil es viele Möglichkeiten gibt:

  • Windows Forms
  • WPF
  • Silverlight
  • HTML5 / Asp.Net

Im Gegensatz zu jedem, der Ihnen sagt "X ist tot", sind alle vier Technologien am Leben und gut . Was mehr ist all diese Technologien sind anders , gibt es keine einfache vorgeschriebene "Use X" Antwort, die jeder geben kann, da jede Technologie in verschiedenen Situationen geeignet ist. Die Auswahl, welche Sie verwenden, hängt ganz von den spezifischen Anforderungen ab, die Sie haben.

Ich beginne damit, nacheinander Ihre Anforderungen durchzugehen:

1. Entwickeln / Bereitstellen unter Windows XP / 7.

Alle / alle der oben genannten sind für die Verwendung mit Windows XP / 7 geeignet.

2. Einfach zu bedienen und optisch ansprechend für einen nicht so technisch versierten Benutzer.

Es ist durchaus möglich, eine der oben genannten Möglichkeiten zu verwenden, um einfach zu bedienende und optisch ansprechende Oberflächen zu erzeugen. Es ist jedoch erwähnenswert, dass diese Technologien sehr unterschiedlich sind - eine HTML5-Anwendung wird eine sehr unterschiedliche haben Look and Feel (nicht unbedingt besser oder schlechter) als beispielsweise eine Windows Forms-Anwendung.

Ohne mehr über die spezifischen Anforderungen zu wissen, ist es schwierig, an dieser Stelle mehr zu sagen, aber Sie sollten sicherlich keine Auswahl auf der Grundlage von Benutzerfreundlichkeit und Aussehen eliminieren, da andere Faktoren (einschließlich allgemeinen Polnisch) viel haben werden größere Wirkung.

3. Regelmäßiges Reporting von Daten einer Non-Profit-Organisation.

Wenn Sie bestimmte Anforderungen an die Anzeige der Berichte haben, sollten Sie sich die Berichts- / Grafikbibliotheken ansehen, die für jede der oben genannten Technologien verfügbar sind.

Obwohl es verschiedene Optionen gibt, um Berichte + Graphen in allen 4 anzuzeigen, könnten Sie feststellen, dass bestimmte Optionen herausstechen.

4. .NET als bevorzugtes Backend haben.

Alle oben genannten sind. NET-Technologien.

Sehen wir uns als nächstes einige andere Überlegungen an, die Sie berücksichtigen sollten (in der Reihenfolge ihrer Priorität)

Kennen Sie bereits eine oder mehrere dieser Technologien?

Wenn Sie bereits Erfahrung mit der Entwicklung von webbasierten Anwendungen haben (zum Beispiel), können Sie eine webbasierte Lösung bevorzugen, sofern keine anderen Anforderungen eine webbasierte App ausschließen.

Entscheiden Sie zwischen einer webbasierten und einer Windows-basierten Benutzeroberfläche.

In diesem Stadium sollten Sie zwischen einer webbasierten und einer Windows-basierten Schnittstelle wählen.

Ich würde mich immer für eine Windows-basierte Anwendung (dh WPF oder Windows Forms) entscheiden, es sei denn, es gibt zwingende Gründe, eine webbasierte Anwendung zu favorisieren, da Sie in Bezug auf die Benutzerschnittstelle viel weniger eingeschränkt sind Windows-Anwendung.

Sehen Sie sich die Vorteile jeder Technologie an

An diesem Punkt sollten Sie in einem 2 Pferderennen sein - WPF vs Windows Forms und HTML5 vs Silverlight. Wenn Sie keine Vorerfahrung haben, müssen Sie sich die einzelnen Vorteile der einzelnen Technologien ansehen (einschließlich Bereitstellungsproblemen - WPF und Silverlight erfordern die Installation von .Net 3.0 oder höher auf dem Client), um eine fundierte Entscheidung zu treffen ein guter Punkt, um einige einfache Prototyping zu sehen.

Wenn die Wahl zwischen HTML5 und Silverlight liegt, kann ich leider nicht wirklich helfen, da meine Erfahrung mit Silverlight begrenzt ist. Wenn Sie jedoch zwischen WPF und Windows Forms wählen, würde ich Windows Forms wählen Sie haben eine Anforderung, die in Windows Forms schwer und in WPF einfach zu erreichen ist.

WPF ist bei bestimmten Dingen fantastisch (z. B. Anzeigen von stark angepassten Grids oder auffälligen Animationen). Wenn Sie jedoch keines dieser Dinge benötigen, ist Windows Forms einfacher, ausgereifter und (IMO) einfacher zu verstehen . Obwohl eine Windows Forms-Anwendung möglicherweise nicht über die ausgefallenen Grafiken verfügt, ist es letztlich die polish , die bestimmt, ob eine Anwendung wirklich attraktiv und einfach zu verwenden ist, und meiner Erfahrung nach sind Windows Forms-Anwendungen einfacher polieren.

    
Justin 14.09.2010 10:11
quelle
3

Ich würde empfehlen, mit WinForms zu beginnen,
fühlt sich "näher" an die Entwicklung von ASP.NET, Konsolenanwendungen, etc .; zumindest in meiner Erfahrung (in etwas Ihrer Situation gewesen).

WinForms wird (nach bestem Wissen und Gewissen) "nie" vollständig ausgelöscht werden.

Hinzugefügt:

Um Ihre spezifischen Anforderungen zu erfüllen, die einzige, in der WinForms und WPF erheblich voneinander abweichen können,
ist "2. Einfach zu bedienen und optisch ansprechend für einen nicht so technisch versierten Benutzer."

Von einem strikten ASP.NET bis C # -Hintergrund kommend, spielte ich mit beiden bis zu dem Punkt herum Ich hatte einige grundlegende (und compilable ;-) Anwendungen, die beide verwenden.

Meine Großmutter hätte es nicht gewagt, WPF anzufassen, einfache WinForms sind attraktiv für
die "nicht so technisch versierten" vor allem für ihre Vertrautheit und damit "sicher (vorhersehbar) zu verwenden".

Hinzugefügt sogar einige mehr ...: In Bezug auf den Verzicht auf Desktop-Technologien für alles, was in einem Browser ausgeführt wird, ist eine gründliche Erfahrung in beiden Bereichen erforderlich. In Bezug auf die Leichtigkeit der Entwicklung und gut, grundsätzlich Leichtigkeit aller Aspekte; es sei denn, du hast ein Foto spezifische Situation, die nur durch Anwendungen in einem Browser behandelt werden kann, würde ich wirklich nicht empfehlen.

Meine zwei Cent: ASP.NET machte den Übergang zu WinForms einfach; dann machte ASP.NET + WinForms + HTML / JS / etc WPF ziemlich zugänglich. Ich könnte hier ein wenig auffallen, aber für mich existiert ein bestimmter Wissenspfad von .NET ....

    
Morten Bergfall 14.09.2010 09:33
quelle
1

Fragen Sie sich, ob Sie etwas benötigen, das nicht in einer Webanwendung bereitgestellt werden kann?

Nach Ihrer Beschreibung klingt es so, als ob Sie es tun könnten, ohne winforms oder wpf zu verwenden, und nur ASP.NET mit WebForms.

    
warsong 14.09.2010 09:35
quelle
1
  

Es wird auf jeden Fall einfacher zu implementieren sein, aber selbst bei vollem Vertrauen, verliere ich nicht die OS-bezogenen Vorteile, die die Desktop-Technologien haben?

Bei voller Vertrauenswürdigkeit können Sie sogar .NET-Steuerelemente verwenden, die zu einer Webseite hinzugefügt werden und im Browser ausgeführt werden (nur IE), die auf das Betriebssystem zugreifen können (z. B. über PInvoke).

    
ChrisW 14.09.2010 09:35
quelle
1

Winforms ist viel benutzerfreundlicher als WPF, nur nicht so visuell ansprechend, also müssen Sie entscheiden, was für Sie wichtiger ist, nicht was die Meinungen anderer über die Zukunft der Benutzeroberfläche sind. Webbasierte Apps haben ihren Platz, und meistens dort, wo mehrere Computer Zugriff auf dieselbe Benutzeroberfläche und gespeicherte Daten haben sollen, ohne dass irgendetwas auf den Client-Computern installiert werden muss. Dies ist gut für Intranets von Unternehmen für Dinge wie Zeitmanagement-Apps und das Planen von Apps und so weiter. Wenn Sie nach etwas suchen, das für den Computer, der es ausführen wird, individuell sein wird, möchten Sie definitiv eine Desktop-App, die winforms oder wpf verwendet. Wenn dies für Firmencomputer ist, bevorzugen Sie möglicherweise Winforms nur für die minimale Ressourcennutzung.

    
MaQleod 14.09.2010 09:36
quelle

Tags und Links