Laden...

Desktop App für Windows und macOS

Letzter Beitrag vor 9 Tagen 9 Posts 300 Views
Desktop App für Windows und macOS

Hallo allerseits,

ich bin neu hier und entwickle erst seit einem Jahr mit C#. Ich möchte eine Desktop app für Windows und macOS  mit Avalonia oder Blazor entwickeln. Wer hat in diesem Bereich Erfahrung und kann mit den ein oder anderen Tipp geben? Ich haben keinerlei Erfahrungen mit Avalonia oder Blazor bisher sammeln können. Für mich ist es sehr wichtig, dass das UI auf beiden OS entsprechend gut aussieht. Eine Frage hätte ich auch bezüglich des Aufwands (Zeit) und der Lernkurve,  wenn man beide Kandidaten vergleichen würde. Über den ein oder anderen Ratschlag würde ich mich freuen.

Beide UI Technologien sind grundlegend unterschiedlich.

  • Avalonia ist eine native UI-Technologie, gilt damit als deutlich performanter gegenüber zB HTML-Engines wie Blazor - aber brauchst das?
  • Weil Avalonia nativ ist, hast auch nen nativen Look vom Betriebssystem - aber Du hast auch nativen Zugriffs aufs Betriebssystem
  • Avalonia ist ein eigenes Ökosystem; und damit potentiell viel kleiner
  • Avalonia verwendet wie WPF primär XAML; damit ist die Einstiegshürde relativ hoch - ein Grund wieso viele bis heute WPF nicht adaptiert haben
  • Avalonia hat aber eine sehr gute Qualität und die, die den Schritt gewagt haben, sind meistens happy
  • Blazor hat keine eigene Runtime, sondern Du brauchst dann sowas wie MAUI - und MAUI ist leider alles andere als beliebt oder Bug-frei
  • Blazor Einstiegshürde ist sehr niedrig und man kann sehr schnell durch simples HTML oder HTML-Templates gute UIs bauen
  • Bei echt komplexen (also wirklich komplexen) UIs kommt HTML-Rendering an seine Performance-Grenze
  • Durch HTML hast kein nativen Look vom Betriebssystem
  • Du kannst vom Betriebssystem nur das verwenden, was es an die Browser-Instanz freigibt (ist nicht alles, wie nativ)

Deine Fragen sind im Grunde kaum durch uns beantwortbar; wir wissen nicht was Du als "gut aussieht" bezeichnest - aber das ist alles im Endeffekt an Deinen Skill gebunden.

Lernkurve in Avalonia ist durch XAML definitiv höher als HTML - aber Du musst halt mit MAUI leben; oder Du lässt MAUI weg und nimmst Windows Forms/WPF als Host.


Ich selbst mag Blazor, aber die Hosting-Varianten von .NET hier für den Desktop nicht. Ich hab schon einige Projekte gesehen, die das sehr beliebte Tauri als Host-Basis für Blazor verwenden.

Hallo und erst mal vielen lieben Dank für Deine umfangreiche Antwort.

Ich finde wichtig, dass die spätere Lösung auf beiden OS nativ aussieht.
Gerade Mac User sind dort sehr pingelig. 
Von daher hätte ich schon aufgrund Deiner Ausführungen einen großen Trend zu Avalonia.

Außerdem, fällt mir gerade ein, dürfte eine Web-Anwendung mit Blazor 
auch keine eigene Menüleiste haben oder?
Falls das so wäre, müsste ich ohnehin Avalonia verwenden.

Ich hoffe, dass es dazu ausreichend Hilfematerial gibt.

Was meinst Du konkret mit

... oder Du lässt MAUI weg und nimmst Windows Forms/WPF als Host.

Das habe ich nicht verstanden.
Danke  nochmals für Deine Hilfe.

Zitat von tibula

Was meinst Du konkret mit

... oder Du lässt MAUI weg und nimmst Windows Forms/WPF als Host.

Das habe ich nicht verstanden.

Das steht in dem Link.

Blazor ist vom Funktionsprinzip eine Middleware; braucht also immer einen Host. Im Web Bereich ist der Host ASP.NET Core und auf dem Desktop brauchst Du dazu MAUI (das ist der Default) oder eben Windows Forms oder WPF.

Ich finde wichtig, dass die spätere Lösung auf beiden OS nativ aussieht.
Gerade Mac User sind dort sehr pingelig.

Wegen sowas macht man Proof of Concept Projekte: man ne minimale App und schau Dir, ob es Dir reicht. Das kann Dir hier niemand beantworten. Das ist am Ende Dein Gefühl / Wunsch.

Außerdem, fällt mir gerade ein, dürfte eine Web-Anwendung mit Blazor 
auch keine eigene Menüleiste haben oder?

Wie gesagt: Blazor lässt Du in einer nativen Umgebung laufen. Eigenständig kann das Blazor nicht.
Daher hast Du auch eine native Menüleiste. Auch hier: probiers mit einer kleinen App aus.

OK, danke für die Infos.
Ich denke, dass ich mit Avalonia schon die richtige Entscheidung treffen werde.
Alle Umstände sprechen doch eher dafür.

Vielen Dank für die Unterstützung.

Gut gemeiner Rat: nimm Dir wirklich mal ein Vormittag Zeit und mach den PoC und probier beide Technologien aus. Du bist genau in der Situation, wieso man Proof of Concepts macht: Du kennst die potentiellen Wege nicht, aber willst evaluieren.

Investier die 3-4 Stunden. Du wirst es nicht bereuen.
Du wirst es aber bereuen wenn Du 2 Monate einen Weg gehst und Dir denkst: mist, wie wärs mit der anderen Technologie gegangen; geschweige denn Du merkst, dass is doch nicht so, wie Du dachtest.


Genau das sag ich auch meinen Kunden: Das sind gut investierte 1-2 Wochen für eine Evaluierung, wenn man in der Situation ist.
Das ist hundert Mal billiger und schneller, als wenn man 3 Monate später merkt, dass das die falsche Richtung war, weil man paar Euro eigentlich sparen wollte - und man dann am Ende viel mehr investieren muss.

Ja das stimmt, ich werde beide Wege beschreiten. 
Avalonia "liest" sich nach Deinen  Ausführungen jedoch als besser geeignet für meine Belange.
Ich brauche dringend eine Menüleiste. Das sind meine Kunde gewöhnt.
Aber ich werde Deinen Rat beherzigen. Noch mal lieben Dank für die Tipps.

Eine andere Frage an Dich als Forum-Experte. Ich bin noch nicht fündig geworden, wie man 
mit einem Klick sich die eigenen Beiträge anzeigen lassen kann.

Hast Du einen Tipp oder reicht es nach dem Benutzer zu suchen?

Geh auf das Profil eines Benutzers und dann siehst Du direkt die letzten 10 Beiträge eines Benutzers; und drunter der Button "Alle Beiträge von XYZ"

OK, vielen Dank.