myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns
» Datenschutzerklärung
» Impressum

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Web-Technologien » Kann ich Klassen bspw aus WPF problemlos via WebAssembly für das Web umwandeln?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Kann ich Klassen bspw aus WPF problemlos via WebAssembly für das Web umwandeln?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
c#atriga
myCSharp.de-Mitglied

Dabei seit: 21.05.2018
Beiträge: 24


c#atriga ist offline

Kann ich Klassen bspw aus WPF problemlos via WebAssembly für das Web umwandeln?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

So langsam komme ich immer mehr in die Materie C# rein und bin dabei die letzten Tage über WebAssembly gestossen. Nachdem ich mich ein wenig eingelesen habe, hätte ich noch ein paar Frage dazu.

Bisher habe ich normale Client Anwendungen mitGUI (WPF) erstellt.
Könnte ich die Klassen (außer dem GUI) dann später umwandeln und dann nur noch via Html und CSS das GUI dazu basteln? Sicherlich muss ich ein paar kleine Veränderungen vornehmen, aber doch nicht alles oder?

Lohnt es sich derzeit noch normale Client Anwendungen zu schreiben (wohlgemerkt ich bin noch in der Anfangsphase) oder gleich auf die Webgeschichte stürzen?
15.05.2019 17:48 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.194
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Man könnte bei einfachen Sachen HTML Seiten mit CSS über eine WebView rendern lassen.
Bei komplexen Szenarieen mit JS oder zu neuen Featuren wird dies mit den Standard Controls wegen veralteten Controls scheitern.
Dann kannst du ggf. schauen ob du ein Custom Control findest was z.B. auf der Chrome Render Engine basiert.

Wenn es aber komplex in Richtung HTML, CSS und JS gehen soll kommst du um ASP .NET im C# Bereich nicht herum.
Das ist dann aber Web Technik und ein anderer Sektor als Desktop GUI via WPF/Winforms.

T-Virus

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von T-Virus am 15.05.2019 18:07.

15.05.2019 18:07 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
c#atriga
myCSharp.de-Mitglied

Dabei seit: 21.05.2018
Beiträge: 24

Themenstarter Thema begonnen von c#atriga

c#atriga ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hat es dann überhaupt noch Sinn native Client Anwendungen unter Windows mithilfe von Wpf zu schreiben? Rede da nicht im Enterprise Sequemt sondern eher kleinere Unternehmen und private Programme.

Wenn man eine Web App schreibt, läuft diese dann doch im Browser vom Smartphone, oder?
Soll es sich wie eine native App verhalten, geht dies auch oder nur via Browser?
15.05.2019 19:26 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.628
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Nein, 1:1 ist da nichts - vor allem keinerlei Zeug aus dem WPF Namespace.
Auch ist die Anwendungsarchitektur von Desktop-Applikationen eigentlich eine andere.

Zitat:
Wenn man eine Web App schreibt, läuft diese dann doch im Browser vom Smartphone, oder?

Nein.

Es gibt im Webbereich Server Side Applications(NodeJS, ASP.NET..), die auf dem Server laufen und Client Side Applications(Angular, Vue, React, Blazor), die im Browser laufen.
HTML wird immer vom Client interpretiert.

Zitat:
Hat es dann überhaupt noch Sinn native Client Anwendungen unter Windows mithilfe von Wpf zu schreiben?

Fat Client Apps werden immer weniger, sofern es sich nicht um spezielle Applikationen wie CAD/CAM handelt.
Ansonsten sind auch im Enterprise-Bereich allein Aufgrund der Verteilung und Skalierung immer mehr die Web- bzw. Multi-Plattform-Applikationen angesagt.

Enterprise ist extrem scharf auf SaaS ( Software as a Service) - und das sind aus Nutzersicht i.d.R. Webapplikationen.
15.05.2019 21:31 Beiträge des Benutzers | zu Buddylist hinzufügen
c#atriga
myCSharp.de-Mitglied

Dabei seit: 21.05.2018
Beiträge: 24

Themenstarter Thema begonnen von c#atriga

c#atriga ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Also lohnt es sich gar nicht mehr, sich mit WPF und nativer Client Anwendungen zu beschäfitgen? Irgendwie sehe ich da gerade keinen Sinn drin.

Bisher verstehe ich folgendes bei den Web Applikationen:

Ich schreibe eine ASP.NET Anwedung welche dann im Netz auf einem Server läuft?
Anschliesend kann ich ein Client schreiben (auch mit html,css und javascript) und dann via Browser aufrufen und benutzen als wenn es ein nativer Client wäre?

Könnte also auch einen Client mit Swift schreiben, welcher auf den Server zugreift und mit diesen kommunizieren kann. Und das ganze dann via IOS Gerät nutzen?

Was würdet ihr mir als Einsteiger empfehlen. Gar keine WPF Anwendungen mehr schreiben und gleich ins ASP.NET eintauchen?

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von c#atriga am 15.05.2019 21:49.

15.05.2019 21:47 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.628
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von c#atriga:
Also lohnt es sich gar nicht mehr, sich mit WPF und nativer Client Anwendungen zu beschäfitgen? Irgendwie sehe ich da gerade keinen Sinn drin.
/quote]
Dann musst über den Tellerrand schauen.
Gibt weiterhin Anwendungsfälle für Desktop Applikationen.

[quote=c#atriga]Ich schreibe eine ASP.NET Anwedung welche dann im Netz auf einem Server läuft?
Anschliesend kann ich ein Client schreiben (auch mit html,css und javascript) und dann via Browser aufrufen und benutzen als wenn es ein nativer Client wäre?

Nein, so funktioniert i.d.R. keine Serverseitige Anwendung.

Serverseitig:
Du schreibst eine Webanwendung, die auf einem Server läuft, und HTML ausliefert, die von einem Browser angefragt werden kann.

Clientseitig:
Du schreibst eine JavaScript(*) Anwendung, die HTML-Code in Form von HTML-Komponenten erzeugt und vom Browser dargestellt werden kann.
Dynamische Informationen müssen zB. via REST von einer Serverseitigen Anwendung geliefert werden.

Zitat von c#atriga:
Könnte also auch einen Client mit Swift schreiben, welcher auf den Server zugreift und mit diesen kommunizieren kann. Und das ganze dann via IOS Gerät nutzen?

Sowas nennt sich ein Http Api Service, zB. REST und Json.

Zitat von c#atriga:
Was würdet ihr mir als Einsteiger empfehlen. Gar keine WPF Anwendungen mehr schreiben und gleich ins ASP.NET eintauchen?

Kann niemand pauschal beantworten, weil keiner hier Deine genauen Anforderungen kennt.
Dein Job wäre die Anfordungen insgesamt aufzunehmen und sich dann anhand dieser Anfordungen für Technologie(n) zu entscheiden.
Und zu den Anforderungen gehört natürlich auch das Nutzerverhalten, die Geräte, die Skills der Entwickler...

Sofern es Webtechnologien werden sollen, dann sei Dir gleich bewusst, dass Webanwendungen i.d.R. viel komplexer sind als Desktop-Anwendungen.
Alleine was Security, Protokolle, Threads, Isolierung, Standards, Tooling, Frameworks.. betrifft.
15.05.2019 23:33 Beiträge des Benutzers | zu Buddylist hinzufügen
c#atriga
myCSharp.de-Mitglied

Dabei seit: 21.05.2018
Beiträge: 24

Themenstarter Thema begonnen von c#atriga

c#atriga ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

So langsam verstehe ich gar nichts mehr.

Folgendes verstehe ich zur Zeit bzw. denke ich das ich es verstehe:

Ich schreibe in C# (oder Java ) eine Anwendung welche auf einem Applikation Server im Netz läuft. Diese bekommt Anfragen von Clients welche er auswertet/berechnet und eine Antwort zurückliefert. (aber in welcher Form, schon als HTML oder nur via String,int...?)


Als Client habe ich (Desktop Anwendung oder APP) eine Oberfläche wo ich z.B. in ein Formular eintrage und an den Server sendet. Dieser werdet es aus und schickt die Antwort zurück welche ich mir anzeigen lassen kann?

Oder wie soll ich mir das vorstellen?

Zitat von Abt:
Nein, so funktioniert i.d.R. keine Serverseitige Anwendung.

Serverseitig:
Du schreibst eine Webanwendung, die auf einem Server läuft, und HTML ausliefert, die von einem Browser angefragt werden kann.

Wie soll ich mir das vorstellen? Stell mir das gerade so vor wie als würde das Programm auf meinem Desktop laufen, nur halt irgendwo auf einem Server.

Zitat von Abt:
Clientseitig:
Du schreibst eine JavaScript(*) Anwendung, die HTML-Code in Form von HTML-Komponenten erzeugt und vom Browser dargestellt werden kann.
Dynamische Informationen müssen zB. via REST von einer Serverseitigen Anwendung geliefert werden.

Könnte ich auch eine Desktop Anwendung schreiben, welche sich die Daten vom dem Server holt?
Damit könnte ich das "berechnen" den Server machen lassen und bräuchte ich nur einzelne Clients schreiben. Somit müsste ich die Algorithmen nur einmal entwerfen in einer Sprache und nicht für jedes einzelne neu.
16.05.2019 11:48 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.194
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ohne deine genauen Anforderungen zu kennen ist es schwierig dir hilfereiche Informationen zu geben.
Aber Abt hat dir schon einen guten Hinweis gegeben.

Dein Server wäre z.B. ein ASP .NET Web mit einer HTTP API.
Der Client kommuniziert dann über HTTP als Protokoll mit dem Server.
Hier stellt der Client also stumpfe HTTP Anfragen und bekommt vom Server auch HTTP Anworten mit entsprechenden Daten(JSON, XML o.ä.).

Je nachdem was deine API dann für Möglichkeiten anbietet, kannst du dir z.B. per GET Daten abholen.
Der Client muss dazu nur die Url aufrufen und bekommt dann als Response z.B. eine Liste (Antwort z.B. JSON Array) zurück.

Die Antworten musst du dann nur in entsprechende Klassen Objekte Deserailisieren und schon hast du Daten vom Server abgeholt.

Auf Client Seite kannst du dann eine andere Technik wie WPF verwenden, wenn du es den willst.
Der Client und Server können auch technisch unterschiedliche Platformen haben solange sie das gleiche Protokoll zur Kommunikation verwenden.

Du musst dich nur mit dem entsprechenden technischen Umsetzungen erst einmal vertraut machen.
Ohne Grundwissen hilft es dir nicht wenn wir dich hier mit allen möglichen technischen Ansätzen erschlagen.

T-Virus
16.05.2019 15:04 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.628
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von c#atriga:
Ich schreibe in C# (oder Java ) eine Anwendung welche auf einem Applikation Server im Netz läuft. Diese bekommt Anfragen von Clients welche er auswertet/berechnet und eine Antwort zurückliefert.

So funktioniert das HTTP Protokoll.

Zitat von c#atriga:
aber in welcher Form, schon als HTML oder nur via String,int...?)

Wenn die Seite vom Browser aufgerufen werden soll, dann eher HTML.
Soll es ein Service sein dann schau Dir REST an.

Das ist alles standardisiert; da muss man nichts selbst erfinden.
Das ist übrigens auch alles in den Microsoft Docs - mit Samples.
Man muss nur mal die Docs besuchen Augenzwinkern

Zitat von c#atriga:
Könnte ich auch eine Desktop Anwendung schreiben, welche sich die Daten vom dem Server holt?

Auf diesem Prinzip basiert die seit ca. 1980 bestehende und sehr weit verbreitete Server-Client-Architektur fröhlich

Mein Tipp:
- Grundlagen Web anschauen
- Grundlagen Server Client Communication anschauen
- Grundlagen Architekturen anschauen

Dann wuppt das.
16.05.2019 16:47 Beiträge des Benutzers | zu Buddylist hinzufügen
c#atriga
myCSharp.de-Mitglied

Dabei seit: 21.05.2018
Beiträge: 24

Themenstarter Thema begonnen von c#atriga

c#atriga ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ok jetzt hab ich es soweit verstanden. Gibt es zufällig ein gutes Buch welches ihr mir zum Thema empfehlen könntet. Auch über Tutorials zum Thema wäre ich dankbar.
Im Netz gibt es zwar viel zu lesen, doch zweifel ich manchmal an der Seriosität der Quellen.

Zu meinem Projekt:
Ich möchte für mein Hobby Tool schreiben, welche verschiedene Verschlüsselungen ver-und wieder entschlüsselt. Ab und an braucht man dies auch mal unterwegs.

Könnte ich schon anfangen die Klassen in C# zu schreiben, welche die Funktionen dann auf dem Server ausführen oder doch anders ran gehen?

Anfangs dachte ich an eine Desktop Anwendung und dann zusätzlich das ganze als App umzusetzen.
Der Gedanke mit dem Netz würde natürlich viel besser passen.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von c#atriga am 16.05.2019 17:56.

16.05.2019 17:54 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 19.05.2019 11:17