OK. Es tut mir leid, dass ich eine oft gestellte Frage noch einmal gestellt habe, aber ich bin VERWEILT!
Zuerst meine Anforderungen.
Jetzt meine Probleme.
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).
Hmm, knifflige Frage - hauptsächlich weil es viele Möglichkeiten gibt:
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.
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 ....
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).
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.
Tags und Links .net user-interface