JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung?

IlmoMilmo

Mitglied
Hallo Gemeine,

ich wollte für Windows (10/11) ein kleines Spiel (eine Art Kartenspiel/Würfelspiel) erstellen. Dies möchte am liebsten mit Java machen. Damals hatte ich mal mit JavaScript + Electron eine Anwendung erstellt, aber Java wäre mir schon lieber. Bei der Recherche bin ich dann auf JavaFX gestoßen, was ja scheinbar auch noch zeitgemäß ist.

Ob ich dies am Ende in den Windows-Store hochladen möchte, weiß ich noch nicht, aber ich möchte mir zumindest die Option offen halten.

Da ich mit dem Bauen von GUIs in JavaFX bisher noch keine Erfahrung habe, wollte ich mal nachfragen wie schwer hier der Einstieg ist? Lässt sich hier mit einfachen Mitteln schon etwas brauchbares zusammenbasteln, oder erfordert JavaFX schon eine intensive Einarbeitung? Mein Ansprung ist es nicht, dass ich hier in Tiefe gehe, sondern dies sollte eher als Mittel zum Zweck dienen. Meine Idee ist, dass ich mithilfe von KI (ChatGpt etc.) die GUI zusammenbaue und dann an der einen oder anderen Schraube nur noch drehen muss. Ob das zum Ziel führen wird, weiß ich noch nicht, aber das Experiment gehe ich gerne ein 🙂

Hat jmd. evtl. auch schon Erfahrungen mit dem Windows Store in Verbindung mit JavaFX machen können und kann mal berichten? Gewöhnlich werden die Anwendungen ja über C#, C++ oder VB.Net entwickelt, aber es soll wohl auch mit JavaFX möglich sein. Ich bin da zumindest auf diese Guide gestoßen, aber so eine wirkliche offizielle Doku habe ich da nicht finden können. Klingt für mich eher danach, dass das nur mit Trick 17 klappt.


JavaFX ist für mich jetzt nicht ins Stein gemeißelt, bin da auch sonst für anderen Vorschläge (muss aber schon Java basiert sein) offen.

Schönes Wochende schon mal 🙂
 
Also was Du da in erster Linie siehst ist ja die Erstellung des MSIX Paketes. Das hast Du immer, wenn Du ein Programm in den Windows Store bekommen willst. Dabei ist egal, wie Du das Programm erzeugt hast. Das ist also erst einmal nichts von wegen Trick 17. Und das gibt es auch alles als offizielle Doku von Microsoft: https://learn.microsoft.com/en-us/windows/msix/packaging-tool/create-app-package
(Dann halt mit offiziellen Microsoft Tools und ohne irgendwelchen Hilfstools, die Dir die Arbeit leichter machen sollen.)

Also ist da auch Java denkbar. Mit Java und JavaFX kannst Du also ein Programm erzeugen und dann mit JPackage eben dann die exe mit den Dateien drumherum erzeugen.

Lässt sich hier mit einfachen Mitteln schon etwas brauchbares zusammenbasteln, oder erfordert JavaFX schon eine intensive Einarbeitung?
Also wenn Du eine Applikation veröffentlichen willst, dann solltest Du Dich schon (intensiv) Einarbeiten. Aber das ist einfach nur meine Meinung. Prinzipiell kann man auch einfach schauen, was man so zusammen bauen kann. Mit ScreenBuilder kann man Oberflächen zusammen klicken und so. Aber Da Du ein Spiel erstellen willst, ist das evtl. nicht einmal wirklich notwendig? Aber das hängt alles vom gewählten Design ab.
 
Also was Du da in erster Linie siehst ist ja die Erstellung des MSIX Paketes. Das hast Du immer, wenn Du ein Programm in den Windows Store bekommen willst. Dabei ist egal, wie Du das Programm erzeugt hast. Das ist also erst einmal nichts von wegen Trick 17. Und das gibt es auch alles als offizielle Doku von Microsoft: https://learn.microsoft.com/en-us/windows/msix/packaging-tool/create-app-package
(Dann halt mit offiziellen Microsoft Tools und ohne irgendwelchen Hilfstools, die Dir die Arbeit leichter machen sollen.)

Ah okay, danke fürs aufklären.

Also wenn Du eine Applikation veröffentlichen willst, dann solltest Du Dich schon (intensiv) Einarbeiten. Aber das ist einfach nur meine Meinung. Prinzipiell kann man auch einfach schauen, was man so zusammen bauen kann. Mit ScreenBuilder kann man Oberflächen zusammen klicken und so. Aber Da Du ein Spiel erstellen willst, ist das evtl. nicht einmal wirklich notwendig? Aber das hängt alles vom gewählten Design ab.

Ja gut, "intensiv" ist natürlich auch relativ. Also dass ich mich damit schon etwas mit beschäftigen muss, ist mir schon klar. Nur ich würde da jetzt nicht vorher noch ein Studium für besuchen wollen (überspitzt dargestellt) um da was brauchbares auf die Beine stellen zu können. Aber das was ich da vorhabe ist auch keine Raketenwissenschaft, deswegen sollte das wohl schon passen 🙂
 
Ich vergleiche das mal mit HTML + CSS. Als ich mich damals damit beschäftigt hatte, konnte man relativ schnell Erfolge erzielen und das was man da gebaut hatte, sah auch gar nicht mal so schlecht aus (zumindest für den damaligen Anspruch, den man da so hatte 😀)
 
Hallo,
ich finde JavaFX ist ein guter Einstieg in die GUI Programmierung. Den einzigen Nachteil welchen ich für Einsteiger gegenüber den Sprachen in Visual Studio sehe ist, dass nicht out of the box eine exe bzw msi rausfällt. Das braucht womöglicherweise ein bissl Einlesezeit in Maven oder Gradle aber dann funktioniert es auch "per Knopfdruck".

Eine grundlegende Architektur solltest du dir vorher auch überlegen, unabhängig von einer Sprache. Zb. in C# mit XAML ist dir das MVVM Pattern weitestgehend vorgegeben. Dies kannst aber auch in JavaFX umsetzen. Wichtig ist dass du die Logik von der GUI trennst.
Siehe z.B. folgende Tutorial Serie:

Bzgl ChatGPT darfst du dir aber nicht erwarten, dass es dir die ganze Anwendung schreibt. Ich habe da mal interessehalber mit V3.5 rumprobiert, es funktioniert super für kleine GUI Scripte, welche auch iterativ erweitert werden können. Zum lernen von neuen Techniken kann dies auch ein guter Helfer sein. Jedoch wenn es um Anwendungen mit Architektur geht habe ich nichts sinnvolles zusammengebracht. Also da ist noch Handarbeit und Verständnis der Architektur Notwendig. Wie es mit V4.0 aussieht kann ich nicht sagen.
 
Moin,

Den einzigen Nachteil welchen ich für Einsteiger gegenüber den Sprachen in Visual Studio sehe ist, dass nicht out of the box eine exe bzw msi rausfällt
Mal aus Interesse: Wieso ist das so schlimm? Eine exe erstellen braucht man ja nicht ständig...

Eine grundlegende Architektur solltest du dir vorher auch überlegen, unabhängig von einer Sprache. Zb. in C# mit XAML ist dir das MVVM Pattern weitestgehend vorgegeben. Dies kannst aber auch in JavaFX umsetzen. Wichtig ist dass du die Logik von der GUI trennst.
Siehe z.B. folgende Tutorial Serie:
Jup, sicherlich nicht verkehrt. Ich arbeite mich auch gerade durch einen Crashkurs zu JavaFX, denn so ganz geht es ja nu auch nicht 🙂



Bzgl ChatGPT darfst du dir aber nicht erwarten, dass es dir die ganze Anwendung schreibt. Ich habe da mal interessehalber mit V3.5 rumprobiert, es funktioniert super für kleine GUI Scripte, welche auch iterativ erweitert werden können. Zum lernen von neuen Techniken kann dies auch ein guter Helfer sein. Jedoch wenn es um Anwendungen mit Architektur geht habe ich nichts sinnvolles zusammengebracht. Also da ist noch Handarbeit und Verständnis der Architektur Notwendig. Wie es mit V4.0 aussieht kann ich nicht sagen.
Ja die Erwartunghaltung habe ich nicht. Ich habe aber schon ein wenig rumprobiert und war schon recht positiv überrascht was da alles so geht 🙂
Manchmal haut es aber leider nicht so ganz hin. Ich wollte z. B., dass er mir einen 3D-Würfel erstellt/zeichnet und es kamen lediglich 2 Striche dabei raus 😀 In den letzten Tagen kommen "seine" Antworten leider auch nicht ganz durch, möglicherweise überfordere ich Ihn noch mit meinen Anforderungen oder die Server sind ein wenig überlastet 😳

Ich denke auch, dass spätestens wenn ich Richtung Animationen gehe, es für ihn schwierig sein wird, meine Ideen im Kopf entsprechend umzusetzen.

Aber bis jetzt hat es für etwas trivalere Sachen schon ganz gut funktioniert 🙂
 
Mal aus Interesse: Wieso ist das so schlimm? Eine exe erstellen braucht man ja nicht ständig...
Also generell ist da nichts Schlimmes. Ich würde sogar so weit gehen, dass es auch mit Java relativ einfach ist dank JPackage. Wenn Du Projekte mit Maven erstellst, dann kann man dies relativ einfach im Projekt mit einbinden und dann hast Du auch eine Anwendung, die über eine EXE gestartet wird unter Windows. Das ist aber kein wirkliches Binary Deiner Anwendung sondern es ist eigentlich nur ein komplettes Java mit allem drum und dran incl. Deiner Anwendung. Daher hast Du hier deutlich größere Größen von ca. 100 - 150 MB meine ich.

Wie sowas aussehen könnte findest Du z.B. unter kneitzel/JavaFXMavenApp: Simple JavaFX App with Maven (github.com)

Bezüglich Architektur kann ich Dir nur empfehlen, das dann auch etwas genauer anzusehen, ehe Du dann von Deinen Java Spielereien (die Du im Rahmen des JavaFX Lernens machen solltest) zu der eigentlichen Anwendung / dem Spiel wechselst. Denn das führt dann zu einer besseren Architektur und die Chance ist größer, dass Du dann so ein Projekt erfolgreicher abschließt, als ohne eine entsprechende Gliederung.
 

Zurück
Oben