Programmiersprache für moderne GUI Anwendungen?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Crossplattform GUI Entwicklung, ist in der Regel darauf beschränkt ein GUI-Framework zu finden, welches auf den Zielplattformen lauffähig ist. (...und installiert werden darf)

Eine generelle Empfehlung kann ich nicht geben.

Wenn Du aus der "Javawelt" kommst, dürftest Du zumindest mal Swing und JavaFX berührt haben.

Nach der Literatur zu googeln dürfte nun wirklich kein Problem für einen "Informatiker" : https://www.google.com/search?q=JavaFx+Literatur

Die Wahl der Programmiersprache für ein Projekt vom Angebot an Gui-Framemeworks abhängig zu machen, komm einem "Pferd von hinten aufzuzäumen" gleich.

Bei Crossplattform Projekten kommt es erstmal vorrangig darauf an, dass der Backendcode mit möglichst wenig Modifikationen auf den gewünschten Zielsystemen ausführbar/compilierbar ist.

Was nutzt Dir die hübscheste Gui, wenn Du für den Zugriff auf Datenbanken, Dateisystem, Systeminterna 3..4 verschiedene Programmversion verwalten musst?

Irgendwie muss das Informatikstudium gewisse Defizite offen gelassen haben...🤔

FXG36  16.08.2023, 14:38
Die Wahl der Programmiersprache für ein Projekt vom Angebot an Gui-Framemeworks abhängig zu machen, komm einem "Pferd von hinten aufzuzäumen" gleich.

Jein. Nicht zwangsläufig. Wenn es ein ausgelagertes, serverseitiges und standardisiertes Backend gibt, welches klar von einem Thinclient-Frontend abgrenzbar ist, kann es schon Sinn machen, die Anforderungen abzugleichen und dann unabhängig von der konkreten Sprache auf die Suche eines geeigneten Frameworks zu begeben.

Ein großes Fettnäpfchen ist es meiner Erfahrung nach, auf irgendwas zu setzen, was vielleicht erstmal supermodern erscheint, aber wo die langfristige Etablierung ungewiss ist.

Ich erinnere mal an so Sachen wie Silverlight und Co. Auf sowas hätte man fälschlicherweise kommen können, wenn man aus der .NET Welt kommt und sich rein auf das Microsoft-Ökosystem beschränkt. Und dann ist man irgendwann in der Legacy-Falle und muss teuer migrieren.

1

Also ich würde bevorzugen:

  • C# mit Avalonia
  • C# mit MAUI
  • C# mit Blazor Hybrid (auch MAUI)

(Nachteil MAUI, es ist zwar systemübergreifend, doch Linux wurde außenvor gelassen. Ansonsten kann es so ziemlich jedes System.)

Web ist aber immer modern, wenn man es modern gestaltet, da es so viele Möglichkeiten bietet. Gerade in heutigen Zeiten, kann es enorm von Vorteil sein, wenn man einfach nur eine PWA herausgibt. Wie wäre es mit:

  • C# Blazor WASM?

Die PWA ließe sich über Browser auf jedem System installieren und notfalls auch ohne Installation, nur im Browser, benutzen.

Die API könntest du per ReST Service hosten. Auch hier gibt es in C# Vorlagen. ReST Service ist modern und da brauchst du dir keine Sorgen machen, dass irgendeine Programmiersprache das nicht unterstützt.

Literatur kann ich keine empfehlen. Am Ende kommt das Design aus dem Kopf, nicht Buch und Dokumentationen gibt es online zuhauf. Eventuell auf YouTube ein Video über Designregeln anschauen, um auch da auf den passenden Stand zu sein.

Bilder oder Design Rankings auf Websites können auch eine Unterstützung sein, um Ideen zu finden. Beispiel: (Google) Top Webdesigns 2023

Meines Erachtens ist Qt, Swing, SWT (Standard Widget Toolkit) oder .NET MAUI sicher keine schlechte Wahl. Es gibt unzählige Frameworks für plattformübergreifende GUIs. Ich würde raten, eines auszuwählen, welches nicht steinalt ist, jedoch sich über längere Zeit durchgesetzt hat. Am besten ist es, wenn du die Programmiersprache(n) auch bereits kannst.

Freundliche Grüsse

Das ist weniger eine Frage der Sprache als der plattformübergreifenden GUI-Frameworks. Auch wenn die oft „bevorzugte“ Sprachen haben.

Beliebt sind heute z.B. Electron (meist mit JavaScript) oder das bewährte Qt (meist, aber nicht zwingend C++).

Java ist mit Swing bzw. JavaFX gar nicht so schlecht dafür aufgestellt, dank GraalVM kann man auch gut native Anwendungen bauen. Desktop-Apps sind aber trotzdem für Java eher ein Nebenschauplatz.