Laden...

Bisherige Windowsapplikationen in Webservice oder Tablestumgebung laufen lassen

Erstellt von oehrle vor 2 Jahren Letzter Beitrag vor 2 Jahren 456 Views
O
oehrle Themenstarter:in
461 Beiträge seit 2009
vor 2 Jahren
Bisherige Windowsapplikationen in Webservice oder Tablestumgebung laufen lassen

Hallo Forenmitglieder. Programmiere schon einige Jahre in C# (WPF). Nun ist es so, dass sich in unserer Firma ein immer gößerer Wandel vollzieht, sei es mit unseren Sytemen (ERP), Daten usw. die immer mehr in die Cloud gesetzt werden.
Nun soll ja auch der digitale Wandel bei uns in der Firma Einzug halten. Es soll auf Tablets gesetzt werden, Apple oder Android, Windows ...
Nun beschäftigt mich halt immer mehr die Frage, ob es auch eine andere Möglichkeit gibt, die bisherigen Applikationen zu verwenden oder leicht zu modifizieren, damit diese auf solchen Geräten laufen?
Es ist mir klar, das ich die Anwendungen auch komplett für Android oder Apple mit Xamarin umsetzen könnte, aber ich frage mich ob es noch eine andere Möglichkeit gibt?
Gibt es so etwas, das man diese Anwendungen irgendwo z.B. auf Azure laufen lässt, und man kann über die mobile Geräte sich da per Webverbindung aufschalten, somit braucht man das nicht auf den Geräten zu installieren? So etwas in die Richtung??
Das wäre vielleicht auch ein größerer Schutz vor Viren, Angriffe usw. ??

Hat jemand von euch damit Erfahrung, oder kann sagen was Sinn macht, was nicht?
Bin schon gespannt.

16.834 Beiträge seit 2008
vor 2 Jahren

Nun beschäftigt mich halt immer mehr die Frage, ob es auch eine andere Möglichkeit gibt, die bisherigen Applikationen zu verwenden oder leicht zu modifizieren, damit diese auf solchen Geräten laufen?

Wie in den anderen Threads schon mehrfach genannt: kommt drauf an. Niemand hier kennt Deine Applikationen.
Tendenz: eher nein. Es ist ein harter Technologiebruch.
Kannst auch kein Porsche kaufen und nach Jahren die Idee haben eine Anhängerkupplung dran zu machen und damit Rüben ernten.

Gibt es so etwas, das man diese Anwendungen irgendwo z.B. auf Azure laufen lässt, und man kann über die mobile Geräte sich da per Webverbindung aufschalten, somit braucht man das nicht auf den Geräten zu installieren? So etwas in die Richtung??

Desktop Applikationen? Natürlich nicht.
Bleibt Dir nur ein Fall Back auf virtuelle Maschinen mit RDP, was für euch wahrscheinlich keine Option ist.

Hat jemand von euch damit Erfahrung, oder kann sagen was Sinn macht, was nicht?

Ja, macht kein Sinn.
Einziger Weg: Migration.

2.079 Beiträge seit 2012
vor 2 Jahren

Gibt es so etwas, das man diese Anwendungen irgendwo z.B. auf Azure laufen lässt, und man kann über die mobile Geräte sich da per Webverbindung aufschalten, somit braucht man das nicht auf den Geräten zu installieren?

Gibt's schon sehr lange, man nennt es "Website" 😉

Ob so ein Umbau auch wirklich ein Umbau oder ein kompletter Rewrite ist und ob sich das für euch lohnt, kann ich dir aber nicht sagen.
Oder Ihr schreibt die App für alle Geräte einzeln (oder mit MAUI) und dahinter läuft dann eine Server-Anwendung, die per Web-API angesprochen wrd.

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.

O
oehrle Themenstarter:in
461 Beiträge seit 2009
vor 2 Jahren

MAUI, habe ich schon mal gelesen, soll nun in VS2022 voll unterstützt werden.
Hast du damit schon was gemacht?

2.079 Beiträge seit 2012
vor 2 Jahren

Ist meines Wissens nach noch nicht ganz released.
Damit lassen sich plattformunabhängig Apps entwickeln.
Es sind dann am Ende aber immer noch normale Apps, die installiert werden müssen - das wolltest Du doch gerade nicht?

Und nein, damit gearbeitet habe ich noch nicht.
Ich habe gang am Anfang der Previews mal etwas damit experimentiert, mehr aber auch nicht.

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.

O
oehrle Themenstarter:in
461 Beiträge seit 2009
vor 2 Jahren

Tja, eine Sache gibt es bestimmt zu beachten, oder?
Wenn ich jetzt meine Appliaktionen / Projekte auf NET6 hebe, was mache ich dann mit DLL's die ich von Drittherstellern bisher benutze?
Die müssen dann auch dem NET6 genugtun (kompatibel sein). Da fängt dann bestimmt auch schon wieder ein Kampf an, oder ist das einfach zu lösen?

16.834 Beiträge seit 2008
vor 2 Jahren

Natürlich brauchst du immer Kompatibilität.
Zur konkreten Abhängigkeit auch hier: kommt drauf an.
Ist deine Aufgabe als Entwickler das zu evaluieren.

O
oehrle Themenstarter:in
461 Beiträge seit 2009
vor 2 Jahren

Na ja, Bespiel SAP. Ich benutze etwas was mit an die hand gegeben wurde, um aus meiner Applikation Daten von dem besagten abzufufen. Da gibt es dann DLL's für Verbindung und Methodik.
Habe ich die wiederum nicht NET6-kompatibel, bin ich nass.

2.079 Beiträge seit 2012
vor 2 Jahren

Die einzelnen Runtimes sind nicht miteinander kompatibel, wenn deine Api im neuen .NET nicht läuft, hast Du ein Problem.
Viele Frameworks und APIs setzen aus genau diesem Grund aber auf .NET Standard, was auch nicht optimal ist, aber eine gemeinsame Basis für die APIs bietet.
Mehr Infos: .NET Standard

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.

O
oehrle Themenstarter:in
461 Beiträge seit 2009
vor 2 Jahren

So, jetzt hab ich nochmal eine Frage. Ich nutze einen Webservice von einem Hersteller, mit dem lass ich mir Daten von dem Hersteller ausgeben, oder übergebe dem System Daten.
Wenn ich so was für meine eigene Appliaktion bauen will, dann muss ich einmal den bereich für den Server entwickeln, als auch Methodik für die Clients (das wären natürlcih unsere Rechner der Firma).
Ich denke so ein WebService ist bestimmt nicht gerade einfach zum entwickeln, oder? Legt man die Kommando- oder Befehlssyntax die z.B. der Client an den Server geben kann selber fest oder gibt es da feste Definitonen (als Beispiel: Client sagt ==> du Server, lösche Auftrags xy in Tabelle B) ?? Oder kann man diese Syntax selber festlegen?

T
2.224 Beiträge seit 2008
vor 2 Jahren

Was du vermutlich brauchst wäre dann eine HTTP Rest Api.
Ein Beispiel dafür wäre z.B. Microsofts WebApi.

https://docs.microsoft.com/de-de/aspnet/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api

Damit kannst du über die HTTP Verben wie Delete dann die Daten löschen lassen.
Schau dir das ganze mal an, dann hättest du dafür eine Basis.

Anbei kannst du dein Problem mit den .NET Welten auch über Adapter lösen.
Z.b. kannst du die Daten von SAP mit einem .NET Framework Projekt abrufen und an eine .NET 5/6 Anwendung weiterleiten.

Eine Möglichkeit wäre ein Kommunikationskanal mit gRPC oder z.B. über die HTTP Api.
Dort kannst du dann die Daten speichern und über dein .NET 5/6 Programm auslesen und verarbeiten.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.