> > > after many days trying to really build iOS apps with JavaFX and RoboVM > or > > > Avian I’m very frustrated because of the following things: > > > > > > Based on RoboVM, JavaFX on iOS runs unacceptable slow - I don’t know > the > > > reason - maybe it’s the rendering model of JavaFX - maybe it’s the > > > currently unoptimized RoboVM > > > One big problem of RoboVM is it’s dependence of the Android library, it > > > does not support the OpenJDK. That’s a big reason for many many > problems > > > when using JavaFX. So currently it’s not possible to use fxml files > > > (FXMLoader) because of the missing Stax xml parser and classes like > > > XMLInputFactory in the android library… >
There's now a compatibility library for the jfx78 backport which includes the missing sun.* classes from OpenJDK [1]. So that will not be a problem when running on RoboVM/Android. Daniel Zwolenski is working on getting this into Maven which will make it nice and easy to develop with RoboVM+OpenJFX. FXMLLoader relies an StAX and the Java Scripting API. Those can both be made to work on RoboVM/Android. The POM of the compat project [1] contains optional dependencies on the StAX API and JSR 223 API. For StAX you'll also need a StAX provider [2][3]. For scripting you'll need a JSR 223 implementation of the scripting language you're using, like Rhino for JavaScript [4][5]. Please note that I haven't tested FXML but it should work (in theory at least ;-) ). Please give it a go. It will be a great blog story if you can make it work on iOS. As for the performance issues with RoboVM+OpenJFX: those WILL be addressed! You can either wait for it to happen or you can help out. One way to do that would be sample code that exercises the code paths that need to be optimized (e.g. the button rendering you posted about earlier). Preferably the sample should run repeatedly without user interaction. You should then be able to run Apple's Instruments application to profile this sample. This will help us determine what needs to be optimized. /Niklas [1] https://github.com/robovm/robovm-jfx78-compat [2] https://github.com/FasterXML/aalto-xml [3] http://woodstox.codehaus.org/ [4] https://developer.mozilla.org/en-US/docs/Rhino [5] https://java.net/projects/scripting/sources/svn/show/trunk/engines/javascript?rev=236