Guten Abend 😃
Ich wollte kurz aufhorchen, welches Framework ihr mir eventuell empfehlen würdet oder gar eure Erfahrung mit mir teilen könntet auf welches ich am besten verzichten / anwenden sollte.
Ich soll für unsere Firma eine Anwendung entwickeln auf welchen wir Daten aufrufen und abspeichern können. Diese sollen sowohl auf den Firmen Computern als auch für Mobilgeräte verfügbar sein, für unsere Außenmitarbeiter.
Naheliegend wäre Xamarin, da ich in C# vertrauter bin derweil als in C, Swift, JS oder Java.
Wie, eventuell habt ihr da schon mehr Erfahrung, ist es dort zu bestimmen, dass auf unterschiedlichen Plattformen unterschiedliche Funktionen gegeben sind ?
Habt ihr vielleicht andere Frameworks auf die ich mich vielleicht fixieren sollte.
Da das Projekt keine eile hat, sollte meine Erfahrung in einer Programmiersprache kein Grund für ein Framework sein. Sich eine andere Sprache anzueignen dauert zwar Zeit, finde ich aber sehr amüsant und würde ich auch nicht nein zur sagen. 😃
Ich hoffe, dass ich hier richtig mit dem Post bin und freue mich schon auf eure Antworten.
Mit freundlichen Grüßen =)
Also wenn es wirklich plattformunabhängig sein soll, ist ASP.NET Core die einzige mir bekannte "offizielle" Möglichkeit. Das könntest Du dann mit Web-UI-Frameworks wie z.B. Angular kombinieren, das übernimmt dann das Frontend und ASP.NET Core das Backend als Web-Service.
Sprich: Du baust eine Website, einen Browser gibt's auf jeden Fall auf jedem Gerät.
Für eine "richtige" Cross-Plattform-UI soll MAUI kommen, aber das steht noch aus.
Xamarin kann nach meinem letzten Stand nur mobile Geräte, keinen Desktop und wird nach .NET 6 auch recht bald sein Ende finden, da es ja durch MAUI abgelöst werden soll.
Und dann gibt's noch Projekte aus der Community, doch da hab ich keinen Überblick.
Oder Du baust mit WPF und Xamarin getrennt voneinander. Beide sind ähnlich im Bezug auf die Möglichkeiten mit MVVM, Du kannst also die selben ViewModels für beides nutzen. Das wird vermutlich nicht so einfach, wie es klingt, aber theoretisch wäre es machbar.
Die anderen Schichten drum herum gemeinsam zu nutzen, ist natürlich kein Problem und eine Server-Anwendung interessiert das sowieso nicht.
Aus dem Bauch heraus würde ich vermutlich zu WPF und Xamarin greifen und dafür sorgen, dass wirklich nur die UI ohne ViewModels plattformunabhängig entwickelt werden muss.
By the way:
Wenn es mit Massendaten geht, habe ich persönlich gute Erfahrungen mit DevExpress gemacht.
Mit deren WPF-Controls hab ich ein paar Jahre lang eine umfangreiche Lagerverwaltung entwickelt und die haben mir dabei sehr viel Arbeit (hauptsächlich mit dem DataGrid) erspart.
Vergleichbares gibt's auch für andere UI-Frameworks, meine Erfahrungen beschränken sich aber auf die WPF-Controls
Es gibt zwar noch andere Produkte dieser Art, doch was die taugen weiß ich nicht und teuer sind die vermutlich alle.
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.
Platformunabhängig würde mit Blazor als PWA gehen.
Da du auch mobile Plattformen im Blick hast, würde ich hier an deiner Stelle auch eher Web bzw. genauer ASP.Net Core Blazor anschauen (auch die anderen ASP.Net Core Technicken sind sicher interessant für dich, z. B. Razor Pages)
Rein von Desktop-Seite her könnte hier hier ggf. noch Avalonia mit reinbringen. Hierbei handelt es sich um ein OpenSource UI-Framework, was sehr stark an WPF erinnert und Crossplatform fähig ist. Ich arbeite derzeit sehr gerne damit, hat gefühlt einen hohen Stabilitätsgrad und läuft auf Windows, Linux und Mac.
Für eine "richtige" Cross-Plattform-UI soll MAUI kommen, aber das steht noch aus.
Xamarin kann nach meinem letzten Stand nur mobile Geräte, keinen Desktop und wird nach .NET 6 auch recht bald sein Ende finden, da es ja durch MAUI abgelöst werden soll.
Xamarin kann mit Forms iOS, macOS, Android & UWP ist also stand jetzt schon absolut Cross-Plattform fähig. Du kannst damit quasi auf alles aktuelle außer Linux & exotische Smartphone OS (e.g. HarmonyOS von Huawei).
Habe eine App die ich problemlos auf einem Windows-PC ebenso wie auf einem iPhone deployen kann.
MAUI löst Xamarin auch imho nicht ab sondern ist ein rebranding (Microsoft hat Xamarin gekauft und schließt damit quasi die Einbindung in die eigene Produktfamilie ab).
Unter der Haube wird sich nicht allzu viel ändern.
2+2=5( (für extrem große Werte von 2)
Xamarin kann mit Forms iOS, macOS, Android & UWP ist also stand jetzt schon absolut Cross-Plattform fähig. Du kannst damit quasi auf alles aktuelle außer Linux & exotische Smartphone OS (e.g. HarmonyOS von Huawei).
Habe eine App die ich problemlos auf einem Windows-PC ebenso wie auf einem iPhone deployen kann.
Gut zu wissen, danke für die Info 😃
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.
Gibt sogar ein community addin für wpf
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/platform/other/wpf
Hallo behindyoû,
kannst auch ASP.NET im Backend,eine SPA/PWA im Frontend (Web) und mit Cordova oder Capacitor auf Mobile und mit Electron auf Desktop portieren.
Gruss
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
Hallöchen. 😃
Erstmal bitte ich um Verzeihung, dass ich so spät reagiere. Etwas Turbulente Woche. .
Schon mal vielen dank für die Zahlreichen Vorschläge.
Ich würde mich mal in die Artikel der jeweiligen Frameworks einlesen und schauen welches mich am meisten an'scripted lach
Sollten weitere Fragen offen sein würde ich mich ggf. erneut melden. 😃
Bis dahin wünsche ich jeden einzelnen erfolgreiche Restwoche, bleibt Gesund und vor allem Bug frei 😃
Wenn euch weiteres einfällt, würde es mich natürlich freuen, mehr zu Erfahren. 😃
MfG.