JavaFX + Mobile

Diskutiere JavaFX + Mobile im AWT, Swing, JavaFX & SWT Bereich.
Tashtego

Tashtego

Hi.

Ich würde gerne eine JavaFX Anwendung für Android machen. Aber ich habe Probleme mit dem Gluon Plugin. Jetzt wollte ich mal nach euren Erfahrungen oder Alternativen fragen. Hat da jemand schon was mit gemacht?

Ich bekomme so Fehlermeldungen:

Zuerst:
Cannot complete the install because one or more required items could not be found.
Software being installed: Gluon Plug-in for Eclipse 2.6.0.v20180424-0818 (com.gluonhq.eclipse.feature.group 2.6.0.v20180424-0818)
Missing requirement: Gluon Plug-in for Eclipse 2.6.0.v20180424-0818 (com.gluonhq.eclipse.plugin 2.6.0.v20180424-0818) requires 'osgi.bundle; com.google.guava [15.0.0,16.0.0)' but it could not be found
Cannot satisfy dependency:
From: Gluon Plug-in for Eclipse 2.6.0.v20180424-0818 (com.gluonhq.eclipse.feature.group 2.6.0.v20180424-0818)
To: org.eclipse.equinox.p2.iu; com.gluonhq.eclipse.plugin [2.6.0.v20180424-0818,2.6.0.v20180424-0818]

Das konnte ich fixen, indem ich die UpdateSite zum Installieren verwendet habe statt den MarketPlace. Dann kommt aber:
Could not determine java version from '13.0.1'
Denk, das ist ein Gradle Problem? Aber ich nutze sonst nur Maven, bin in dem Bereich neu.

Gruß
 
L

LimDul

Java 13 ist vermutlich zu neu. Ich würde auf 11 oder 8 zurückgehen und das damit mal probieren.
 
Tashtego

Tashtego

Hab ich auch schon. Aber dieselbe Fehlermeldung kommt. Ich vermute, daß das Gradle (wenns von Gradle kommt) trotzdem irgendwo Java 13 konfiguriert hat? Hast du da ne Idee, was man da konfigurieren müßte? Welche Datei man anfassen muß?
 
L

lam_tr

Ich denke die Plug-Ins sind zu veraltet für die neue IDE.

Mach doch einfach ein Gradle Project das ist einfacher:

Ja und soweit ich weiß geht jfxports geht nur mit OpenJFX11

Wahrscheinlich hast du in deiner Eclipse IDE falsche google guava version
Code:
Missing requirement: Gluon Plug-in for Eclipse 2.6.0.v20180424-0818 (com.gluonhq.eclipse.plugin 2.6.0.v20180424-0818) requires 'osgi.bundle; com.google.guava [15.0.0,16.0.0)' but it could not be found
 
Tashtego

Tashtego

Ja das bringt mich schon etwas weiter, Danke. Ich hoffe, die bringen da mal neu neue Version raus.

Weißt du, ob ich das hier anpassen muß?

#Mon Nov 20 11:05:10 CET 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.3.1-bin.zip
 
L

lam_tr

Ja das bringt mich schon etwas weiter, Danke. Ich hoffe, die bringen da mal neu neue Version raus.

Weißt du, ob ich das hier anpassen muß?

#Mon Nov 20 11:05:10 CET 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.3.1-bin.zip
Wo hast du das her? Sieht nach Gradle Konfiguration aus.

Was Plug-Ins angeht, ich glaube nicht dass sie da wirklich noch viel daran machen, da JavaFXPort meineswissens nicht mehr weiter entwickelt wird, sie sind an einer neuen API für mobiles dran. Ich mein ich hatte dazu auch schon ein Post mit @dzim gehabt.

Ich fand damals diese IDE Unterstützung für Eclipse nicht so gut und habe immer ein Gradle Projekt entwickelt, ist am Einfachsten.
 
dzim

dzim

Wie @lam_tr sagt: JavaFXPorts ist mehr oder weniger tot. Außer ein paar Bug-Fixes vielleicht. JavaFX auf mobile jedoch ist es nicht, hier wird jetzt auf Native Images gesetzt.
Ich kann dich an dieser Stelle erst einmal an https://docs.gluonhq.com/client/ und https://github.com/gluonhq/client-samples verweisen.

Mittels der neuen Technik wird mit GraalVM und dem native-image eine native executable erstellt. Generell gesagt ist das schon ziemlich geil, aber: Jedoch ist der Build-Prozess sehr komplex (in seinen Voraussetzungen and das System und mitunter auch der Konfiguration) und relativ langsam (ca 5-10 Minuten für einen Run auf meinem etwa 3 Jahre alten Arbeitslaptop). Wenn man es zum laufen bringt, ist es genial, aber leider ist die Systemintegration ziemlich kompliziert, so dass ich es gut für Desktop (Win10, Mac, Linux) finde, aber schwierig für Mobile (iOS, Android), da das bauen von nativen Plugins doch recht kompliziert ist. Auch für Android, wo es früher mit JavaFXPorts denkbar einfach war.
 
Tashtego

Tashtego

Wie @lam_tr sagt: JavaFXPorts ist mehr oder weniger tot. Außer ein paar Bug-Fixes vielleicht. JavaFX auf mobile jedoch ist es nicht, hier wird jetzt auf Native Images gesetzt.
Ich kann dich an dieser Stelle erst einmal an https://docs.gluonhq.com/client/ und https://github.com/gluonhq/client-samples verweisen.

Mittels der neuen Technik wird mit GraalVM und dem native-image eine native executable erstellt. Generell gesagt ist das schon ziemlich geil, aber: Jedoch ist der Build-Prozess sehr komplex (in seinen Voraussetzungen and das System und mitunter auch der Konfiguration) und relativ langsam (ca 5-10 Minuten für einen Run auf meinem etwa 3 Jahre alten Arbeitslaptop). Wenn man es zum laufen bringt, ist es genial, aber leider ist die Systemintegration ziemlich kompliziert, so dass ich es gut für Desktop (Win10, Mac, Linux) finde, aber schwierig für Mobile (iOS, Android), da das bauen von nativen Plugins doch recht kompliziert ist. Auch für Android, wo es früher mit JavaFXPorts denkbar einfach war.
Danke dir für die Info. Diese ganze Gluon Geschichte funktioniert bei mir nicht wirklich. Ich hielt es für ne gute Idee, JavaFX für Android zu verwenden. Aber ich persönlich stell hier die Versuche erstmal ein.
 
dzim

dzim

Ich glaube, wenn man klein anfängt und nicht wahnsinnig viel aus dem System braucht und den Build im Griff hat, kann man damit schnell kleine Apps bauen. Und wer wie ich mit der JavaFX-API recht gut klar kommt, fühlt sich in der Entwicklung auch ziemlich wohl.

ABER: Wenn man eben etwas mehr als die hier aufgelisteten Plugins braucht, wird es umständlich. Denn dann musst du zwangsläufig mit dem Android NDK und C++ arbeiten, was ich als Java/Kotlin-Guy nicht unbedingt möchte (und man muss sich mit dem Build nativer JNI libs rumärgern). Warum? Weil die App in Java 11 und JavaFX 11+ geschrieben und zu einer nativen Lib kompiliert wird, während Android immer noch auf einem verwurschteltem Java 8 oder so rum hängt und man dann die plugins als libs an deine App hängt und daraus dann das executable macht.
Auch dass ich keine Kontrolle über das generierte AndroidManifest habe, finde ich nicht so toll.
Die Performance auf Android dagegen soll besser als bei JavaFXPorts. Das hatte vor allem auf älteren Androiden manchmal zu tun, während es auf iOS von je her sehr gut lief.

Alles in allen: Ich finde die Idee von GraalVM+JavaFX toll, aber für Android und iOS würde ich es im Moment nicht verwenden. Für Desktop-Anwendungen allerdings schon. Auch wenn hier vor allem Linux (wenn alle Tools vorhanden) und Mac (wenn XCode installiert und vorbereitet ist) bereits gut funktionieren, aber Windows noch recht komplex von der Vorbereitung her sein soll (sagt ein Arbeitskollege, Visual Studio mit allen notwendigen Abhängigkeiten installieren).
 
Thema: 

JavaFX + Mobile

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben