Benutzer mit den meisten Antworten
WinForm, WPF, Silverlight oder ?

Frage
-
Hallo,
ich habe bis jetzt mit WinForms gearbeitet. Jetzt habe ich ein neues Projekt.
Im Internet habe ich gelesen das WPF bzw. Silverlight auch keine richtige Zukunft haben.
Ich erstelle in erster Linie Anwendungssoftware. Silverlight wäre da schon Interessant weil man das Programm einfach
über den Explorer öffnen kann ohne große Installation. Aber so eine ähnlich Funktion gibt es ja auch mit Clickonce bei WPF bzw. Winforms.
Welcher Weg wäre jetzt der bessere?
Gruß
Frank Bergmann
Antworten
-
Ich weiß nicht, was für Infos du aus dem "Internet" so hörst, aber WPF ist momentan die beste Plattform für Windows Client Anwendungen.
Silverlight könnte hier eher in "Gefahr" sein - da es jedoch auf dem Phone 7 als API dient ist das auch sehr unwahrscheinlich. Sehr wahrscheinlich ist, das WPF mit der Zeit mit Silverlight zusammenwachsen könnte... Näheres wird man aber erst im September auf der BUILD Conference erfahren, wo die neue Strategi den Entwicklern bekannt gegeben wird.
Wir entwickeln grad einen größeren Client auf Basis von WPF und hier zeigen sich gegenüber SL einige Vorteile, da man sehr viel mehr machen kann (.Net 4.0 ist sehr viel Umfangreicher als SL 4 oder 5). Man schränkt sich mit SL sehr ein, was aber natürlich je nach Aufgabenstellung egal sein kann. Reine GUIs wird man mit SL ähnlich gut implementieren können wie mit WPF. Wenns um Netzwerk etc geht, hat man mit .Net jedoch sehr viel mehr Möglichkeiten (WCF ect.).
Lernen musst Du es eh - da WPF als auch SL (mehr oder minder) den gleichen XAML Code benötigen.
Schau dir auch mal Konzepte wie MVVM an, damit kannst Du die GUI sehr gut von deiner Logik trennen. Ich hab sehr gute Erfahrungen mit dem Projekt Prism (Codeplex) gemacht - etwas hat am Anfang das Ganze zu vertehen, aber nachher wirds leichter ;)
Viel Spass
- Als Antwort vorgeschlagen Thorsten DörflerModerator Dienstag, 30. August 2011 05:45
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 2. September 2011 15:48
-
Hallo Frank,
Silverlight bietet sich nur dann an, wenn Du zusätzlich für die Datenhaltung eine separate Anwendung, bspw. auf Basis ASP.NET, einrichten kannst und willst. Eine direkte Anbindung von Datenbanken gibt es dort nicht. Um eine komplexe Oberfläche für Anwendung zu erstellen, die im Browser laufen sollen und bei denen man mit HTML, CSS und jQuery nicht weit genug kommt, ist Silverlight schon eher geeignet. Allerdings wird sich hier im weiteren Verlauf mit HTML5 und den dortigen Möglichkeiten auch einiges tun, so dass Silverlight nur noch für bestimmte Anwendungen in Frage kommen wird.
WinForms oder WPF ist für die Logik der Anwendung nicht entscheidend, das ist eher eine Frage der Oberflächenentwicklung. In der Regel wirst Du daher die Logik auslagern und die Oberfläche austauschbar halten. (Geht natürlich nicht immer und in allen Fällen)
Eine .NET Anwendung kannst Du bei bereits vorhandenem .NET Framework im einfachsten Fall ohne weitere Installation per Weitergabe der Exe (plus ggfs. weiterer benötigter DLLs) verteilen. Wenn noch SQL Server, ... verwendet wird, wirds natürlich etwas komplizierter.
Der Weg ist abhängig von den genauen Anforderungen, eine immer gültige Vorgehensweise gibt es da eigentlich nicht.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Als Antwort vorgeschlagen Thorsten DörflerModerator Dienstag, 30. August 2011 05:45
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 2. September 2011 15:48
Alle Antworten
-
Ich weiß nicht, was für Infos du aus dem "Internet" so hörst, aber WPF ist momentan die beste Plattform für Windows Client Anwendungen.
Silverlight könnte hier eher in "Gefahr" sein - da es jedoch auf dem Phone 7 als API dient ist das auch sehr unwahrscheinlich. Sehr wahrscheinlich ist, das WPF mit der Zeit mit Silverlight zusammenwachsen könnte... Näheres wird man aber erst im September auf der BUILD Conference erfahren, wo die neue Strategi den Entwicklern bekannt gegeben wird.
Wir entwickeln grad einen größeren Client auf Basis von WPF und hier zeigen sich gegenüber SL einige Vorteile, da man sehr viel mehr machen kann (.Net 4.0 ist sehr viel Umfangreicher als SL 4 oder 5). Man schränkt sich mit SL sehr ein, was aber natürlich je nach Aufgabenstellung egal sein kann. Reine GUIs wird man mit SL ähnlich gut implementieren können wie mit WPF. Wenns um Netzwerk etc geht, hat man mit .Net jedoch sehr viel mehr Möglichkeiten (WCF ect.).
Lernen musst Du es eh - da WPF als auch SL (mehr oder minder) den gleichen XAML Code benötigen.
Schau dir auch mal Konzepte wie MVVM an, damit kannst Du die GUI sehr gut von deiner Logik trennen. Ich hab sehr gute Erfahrungen mit dem Projekt Prism (Codeplex) gemacht - etwas hat am Anfang das Ganze zu vertehen, aber nachher wirds leichter ;)
Viel Spass
- Als Antwort vorgeschlagen Thorsten DörflerModerator Dienstag, 30. August 2011 05:45
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 2. September 2011 15:48
-
Hallo Frank,
Silverlight bietet sich nur dann an, wenn Du zusätzlich für die Datenhaltung eine separate Anwendung, bspw. auf Basis ASP.NET, einrichten kannst und willst. Eine direkte Anbindung von Datenbanken gibt es dort nicht. Um eine komplexe Oberfläche für Anwendung zu erstellen, die im Browser laufen sollen und bei denen man mit HTML, CSS und jQuery nicht weit genug kommt, ist Silverlight schon eher geeignet. Allerdings wird sich hier im weiteren Verlauf mit HTML5 und den dortigen Möglichkeiten auch einiges tun, so dass Silverlight nur noch für bestimmte Anwendungen in Frage kommen wird.
WinForms oder WPF ist für die Logik der Anwendung nicht entscheidend, das ist eher eine Frage der Oberflächenentwicklung. In der Regel wirst Du daher die Logik auslagern und die Oberfläche austauschbar halten. (Geht natürlich nicht immer und in allen Fällen)
Eine .NET Anwendung kannst Du bei bereits vorhandenem .NET Framework im einfachsten Fall ohne weitere Installation per Weitergabe der Exe (plus ggfs. weiterer benötigter DLLs) verteilen. Wenn noch SQL Server, ... verwendet wird, wirds natürlich etwas komplizierter.
Der Weg ist abhängig von den genauen Anforderungen, eine immer gültige Vorgehensweise gibt es da eigentlich nicht.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Als Antwort vorgeschlagen Thorsten DörflerModerator Dienstag, 30. August 2011 05:45
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 2. September 2011 15:48