Ich habe Java vor ca 10 Jahren in einem 8 Wochen Kurs gelernt, soweit ich weiß nennt sich die Technik wie wir damals GUI Elemente (Menüs, Buttons, Ein- und Ausgabefelder) erstellt haben, Swing. Nun fand/finde ich das durchaus mühselig, wenn man wie ich aus einer anderen Sprache (Lazarus) oder auch aus C# so schicke integrierte graphische Objektverwaltungen kennt. Natürlich nutze ich davon nur wenige Prozent aber immerhin es erscheint mir komfortabel und ich wundere mich ob und warum es das in Java nicht geben sollte.
Ich habe schon von Frameworks gehört., weiß dass man da bei Oracle Kursen ein halbes Jahr studieren und die Firma viele Tausend Euro überweisen soll. Nun bin ich schon alt und ohne Firma und auch nicht mehr so verrückt ALLES wissen zu müssen. Aber so für den Haus- und Anfänger Gebrauch, was empfehlt ihr da? Ich verwende Eclipse und wundere mich, warum da praktisch kein Addon für GUI dabei ist oder angepriesen wird. Suche ich nur falsch oder habe ich Tomaten auf den Augen?
Die Stärken von Java liegen eher im Backend-Bereich. Für das Frontend gibt es (neuere) Schlagworte wie JavaFX (2.x), Vaadin, (i.Z. mit Browsern) React, Vue.JS,... Und die UI könnte man so strukturieren, dass Änderungen / Erweiterungen nur an einer Stelle vorzunehmen sind.
Das mit dem WindowsBuilder sieht doch schon mal gut aus, ich habe ein Youtube-Video gesehen, wo das mal in Aktion gezeigt wird. Da bei mir eh eine Modernisierung ansteht, werde ich mir das bei einer neueren Eclipse mal installieren. Leider ist Java bei mir nicht so oberste Priorität aber vielleicht ändert sich das ja. Was mich nur wundert, warum wird das nicht aktiver "beworben" bzw gelehrt. Natürlich kann man in ein paar Zeilen die Swing-Elemente auch selber eintippen aber wenn man als Anfänger mehr Komfort und Vorstellung haben kann und/oder das aus anderen Sprachnen schon gesehen hat.
Nur zur Sicherheit: WindowsBuilder setzt dann auf Swing-Elemente, JavaFX ist wieder was anderes? Sieht das anders aus? Ist das schwer zu erlernen?
Diese Frontend Entwicklung findet halt kaum statt und entsprechend wenig gibt es da. Wenn ich an andere Entwicklungsumgebungen denke, dann ist das dort deutlich presenter was man auch an den ganzen 3rd party Libraries erkennen kann, die es da gibt. Im Java Umfeld gibt es sehr wenig und Projekte werden eher eingestampft.
WindowsBuilder von Eclipse kann wohl sowohl Swing als auch SWT.
JavaFX ist eine etwas modernere Library, die deutlich mehr bietet wie z.B. Bindings oder die deklarative Entwicklung von UIs (Die UI ist dann einfach ein eigenständiges xml Dokument und eben kein Java Code!)
Meine Empfehlung ist ganz deutlich, dass man einfach Maven (oder Gradle) verwendet. Da ist dann keine Installation notwendig und es gibt deutlich weniger Stolpersteine. Maven bringt zwar eine gewisse Komplexität mit, aber da kann man relativ einfach herein wachsen, denn man muss nicht sofort alles im Detail verstehen. Wenn man das Projekt einmal hat, dann geht es mit minimalen Anpassungen und man kann sich vor allem sehr viel "klauen".
Und bei Problemen ist die Fehlersuche einfacher - Maven pom.xml zeigen reicht. Keine Installationen oder Konfiguration in IDE Fenstern muss geprüft werden....