Benutzer mit den meisten Antworten
WPF und ASP.NET WebForms

Frage
-
Hallo,
unsere ASP.NET (2.0) WebForms-Anwendung ist ein bisschen in die Jahre gekommen und
bedarf eines Re-Designs.
Evtl. wollten wir nun das UI gegen WPF austauschen.
Im Prinzip das gesamt UI mit WPF und MVVM-Pattern und nur die WebServer- und Business-Logik
behalten.
Ist das so überhaupt machbar (wie läuft das dann mit den aspx-Seiten requests, etc.)?
Oder wäre da der Ansatz mit Silverlight als UI geeigneter?
Vielen Dank schon mal für Antworten und Tipps.
Gruß, Amadeus.
Antworten
-
Hallo Amadeus,
WPF und ASP.NET sind erstmal nur sehr schwer vergleichbar. Bei ASP.NET handelt es sich um eine Webtechnologie, wobei man sehr oft nur das Backend davon betrachtet. Eben das was das .NET benutzt. Clientseitig wird am Ende auch nur HTML/CSS und JavaScript genutzt.
WPF dagegen ist ein Framework für Win32 Clientanwendungen.Grundsätzlich ist es möglich als Frontend einer Serveranwendung WPF zu nutzen, aber dann läuft das natürlich nur auf Windows und nirgendwo anders. Grundsätzlich könnte es so ablaufen, dass das ViewModel den Server kontaktiert bzw. eine extra Schicht (Model) übernimmt die Serverkommunikation. Das ViewModel leitet dann die anzuzeigenden Daten an die View weiter. Wenn nun etwas zurück gespielt werden soll, geht es den exakt umgekehrten Weg.
Von Silverlight würde ich komplett Abstand nehmen. Das Web hat sich weitestgehend gegen Technologien wie SL und Flash entschieden und setzt fast ausschließlich auf reine JavaScript-Lösungen.
Eine reine JavaScript-Lösung auf der Client-Seite wäre IMO der bessere Weg für euch, sofern das bisherige Konzept eines Webinterface beibehalten werden soll.Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort vorgeschlagen Tom Lambert (Koopakiller)Moderator Donnerstag, 20. Oktober 2016 10:52
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Freitag, 28. Oktober 2016 10:04
Alle Antworten
-
Hallo Amadeus,
WPF und ASP.NET sind erstmal nur sehr schwer vergleichbar. Bei ASP.NET handelt es sich um eine Webtechnologie, wobei man sehr oft nur das Backend davon betrachtet. Eben das was das .NET benutzt. Clientseitig wird am Ende auch nur HTML/CSS und JavaScript genutzt.
WPF dagegen ist ein Framework für Win32 Clientanwendungen.Grundsätzlich ist es möglich als Frontend einer Serveranwendung WPF zu nutzen, aber dann läuft das natürlich nur auf Windows und nirgendwo anders. Grundsätzlich könnte es so ablaufen, dass das ViewModel den Server kontaktiert bzw. eine extra Schicht (Model) übernimmt die Serverkommunikation. Das ViewModel leitet dann die anzuzeigenden Daten an die View weiter. Wenn nun etwas zurück gespielt werden soll, geht es den exakt umgekehrten Weg.
Von Silverlight würde ich komplett Abstand nehmen. Das Web hat sich weitestgehend gegen Technologien wie SL und Flash entschieden und setzt fast ausschließlich auf reine JavaScript-Lösungen.
Eine reine JavaScript-Lösung auf der Client-Seite wäre IMO der bessere Weg für euch, sofern das bisherige Konzept eines Webinterface beibehalten werden soll.Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort vorgeschlagen Tom Lambert (Koopakiller)Moderator Donnerstag, 20. Oktober 2016 10:52
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Freitag, 28. Oktober 2016 10:04
-
Hallo Tom,
danke für die Antwort!
>Grundsätzlich ist es möglich als Frontend einer Serveranwendung WPF zu nutzen, aber dann läuft das natürlich nur >auf Windows und nirgendwo anders.
Ja, das muss ich checken, ob diese Einschränkung existieren darf.
>Von Silverlight würde ich komplett Abstand nehmen. Das Web hat sich weitestgehend gegen Technologien wie SL >und Flash entschieden und setzt fast ausschließlich auf reine JavaScript-Lösungen
Ok verstanden.
Gut, dann werde ich die Details klären.
Gruß, Amadeus.
- Als Antwort markiert myamadeus Donnerstag, 20. Oktober 2016 10:44
- Tag als Antwort aufgehoben Tom Lambert (Koopakiller)Moderator Donnerstag, 20. Oktober 2016 10:54
-
Hallo Tom,
ich habe mir gerade das MVC-Pattern angesehen.
Das wäre doch auch eine Möglichkeit, die ganze Web-App weiter zu abstrahieren
und Business und View-Logik zu trennen.
Liese sich eine "ältere" WebForms-App (wie gesagt, Framework 2.0) "relativ leicht" auf
z.B. MVC 5/6 bringen?
Gruß, Amadeus.
-
Hallo Amadeus,
wenn deine Logik schon komplett ausgelagert ist, Du bereits mit Klassen für die Datenhaltung arbeitest, usw., kann man das Frontend dann auch "relativ" einfach austauschen.
Aber in der Regel wird es bei älteren WebForms Projekten so sein, dass man es eigentlich wegschmeißen und neu programmieren kann. Die Unterschiede sind enorm (die beiden Projektarten haben so gut wie nichts gemeinsam)
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 -
Hallo Amadeus,
das MVC Pattern hat zumindest einige strukturelle Gemeinsamkeiten mit MVVM, auch wenn die Kommunikationsrichtungen andere sind.
Weiterhin kannst du bei Web-Applikationen einmal ein Client-Server-Seitiges MVC einsetzen und zusätzlich auf der Clientseite ein MVVM Artiges System wie Angular JS. Je nachdem wie viel du Clientseitig verarbeitest und immer nur die Änderungen an den Server mitteilst bzw. zusätzliche Daten abrufst, kann das durchaus praktisch sein.Was das portieren betrifft, so stimme ich mit Stefan überein: Das macht viel arbeit und erfordert vermutlich das viel neu geschrieben werden muss.
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets -
Hallo Stefan und Tom,
danke Euch für die Antworten!
Ok werde mir das Empfohlene mal reinziehen.
Ja, es ist schon relativ alt das Projekt und natürlich auch über die Jahre gewachsen.
Vermutlich ist eine "Migration" hin zu MVC oder WPF mit MVVM schon sowas wie "Neuschreiben" der App.
Werde das Intern besprechen.
Also danke Euch für die Tipps und Anregungen.
Gruß, Amadeus.