JavaFX8 on iPhone! It works!

Niklas Therning niklas at therning.org
Fri Jul 5 04:57:30 PDT 2013


Even the latest version of Android are missing these classes and Dalvik
(the VM in Android) doesn't support invokedynamic so a backport is
required, not just for RoboVM. I managed to get Ensemble working yesterday
on iOS with the jfx78 sources and RoboVM. But even this backport contains
code which won't work on Android nor on RoboVM. E.g. I had to patch
FontFileWriter to get Ensemble working (it uses java.nio.file.Files which
is a Java7+ class). IMO the backport needs to target Android/RoboVM
specifically and not Java7. A first step would be to make it compile with
Java6.


On Fri, Jul 5, 2013 at 1:21 PM, Tobias Bley <tobi at ultramixer.com> wrote:

> Maybe the missing classes in the android classes used by RoboVM are only
> missing in an old android class library and Oracles android port is based
> on a newer version?
>
>
> Am 05.07.2013 um 13:11 schrieb Daniel Zwolenski <zonski at gmail.com>:
>
> > This is great Tobi, thanks!
> >
> > I'm a bit confused though - seems to be mixed messages on the need for
> the 78 backport?
> >
> > Danno, since Niklas is saying we need the backport, what steps do we
> need to take to get this working?
> >
> > I also don't understand Tobi's comments below about not using the
> android jdk. What is it that's not working, and isn't jfx suppose to run on
> android as well?
> >
> >
> >
> > On 04/07/2013, at 11:53 PM, Tobias Bley <tobi at ultramixer.com> wrote:
> >
> >> I published by blog post about using JavaFX8 and RoboVM to build a iOS
> app: http://blog.software4java.com/?p=41
> >>
> >> @Niklas: IMO it’s important that RoboVM support OpenJDK as alternative
> to the android class library because OpenJFX depends on OpenJDK not on
> Android class library (Apache Harmony).
> >>
> >> Best regards,
> >> Tobi
> >>
> >> Am 04.07.2013 um 14:49 schrieb Niklas Therning <niklas at therning.org>:
> >>
> >>> RoboVM doesn't do invokedynamic so I guess this only works if the app
> >>> doesn't depend on any of the code in JavaFX8 that compiles down to
> >>> invokedynamic calls. Also, there are quite a few API's available in
> Java8
> >>> (and also Java7) that RoboVM doesn't have. We really need to get the
> jfx78
> >>> backport to compile for iOS and generate the static libs properly.
> >>>
> >>> I've just got the font related code in the BrickBreaker sample working
> >>> using the jfx78 backport. There's still a bit of manual command line
> work
> >>> needed to merge the static libraries into universal libraries like the
> old
> >>> ant build system did automatically. But it isn't too hard. I'll try to
> put
> >>> up instructions on the robovm blog later today. I'll let you know.
> >>>
> >>>
> >>> On Thu, Jul 4, 2013 at 1:31 AM, <steve.x.northover at oracle.com> wrote:
> >>>
> >>>> Yes.
> >>>>
> >>>>
> >>>> On 03/07/2013 7:17 PM, Daniel Zwolenski wrote:
> >>>>
> >>>>> Can I just use this: https://jdk8.java.net/**download.html<
> https://jdk8.java.net/download.html>?
> >>>>>
> >>>>>
> >>>>> On Thu, Jul 4, 2013 at 9:15 AM, Daniel Zwolenski <zonski at gmail.com>
> >>>>> wrote:
> >>>>>
> >>>>> Thanks Richard, in the building for Mac section there is a link to
> >>>>>> "Install the latest JDK 8 build" that goes to a dead URL (
> >>>>>> http://jdk8.dev.java.net/). Do you know the correct URL?
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> On Thu, Jul 4, 2013 at 9:11 AM, Richard Bair <
> richard.bair at oracle.com>**
> >>>>>> wrote:
> >>>>>>
> >>>>>> Extensive documentation that is mostly correct:
> >>>>>>>
> >>>>>>> https://wiki.openjdk.java.net/**display/OpenJFX/Building+**OpenJFX
> <https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX>
> >>>>>>>
> https://wiki.openjdk.java.net/**display/OpenJFX/Developing+**OpenJFX<
> https://wiki.openjdk.java.net/display/OpenJFX/Developing+OpenJFX>
> >>>>>>>
> >>>>>>> It is still a work in progress but most things you need to know to
> build
> >>>>>>> is found here.
> >>>>>>>
> >>>>>>> Richard
> >>>>>>>
> >>>>>>> On Jul 3, 2013, at 3:52 PM, Daniel Zwolenski <zonski at gmail.com>
> wrote:
> >>>>>>>
> >>>>>>> Trying to catch up to Tobi on this one so I can have some fun with
> it
> >>>>>>>>
> >>>>>>> too.
> >>>>>>>
> >>>>>>>> I assume in order to compile the graphics repo of JFX8 I need an
> OpenJ8
> >>>>>>>>
> >>>>>>> JDK
> >>>>>>>
> >>>>>>>> already installed? Are there pre-built bundles for this (for mac)
> or do
> >>>>>>>>
> >>>>>>> I
> >>>>>>>
> >>>>>>>> need to checkout and build myself? Does anyone know which repo,
> and
> >>>>>>>> what
> >>>>>>>> command line arg should I use to build J8 in this case?
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> On Thu, Jul 4, 2013 at 6:44 AM, Tobias Bley <tobi at ultramixer.com>
> >>>>>>>>
> >>>>>>> wrote:
> >>>>>>>
> >>>>>>>> Hi Guys,
> >>>>>>>>>
> >>>>>>>>> I used RoboVM 0.0.2 and the current OpenJFX8 from mercurial
> graphics
> >>>>>>>>> branch.... So no 78 backport. I will write a blog post on
> >>>>>>>>> blog.software4java.com until tomorrow...
> >>>>>>>>>
> >>>>>>>>> Currently the performance is very limited - as Richard told too.
> I’m
> >>>>>>>>> testing now all the basic JFX controls (like button, RadioButton,
> >>>>>>>>>
> >>>>>>>> CheckBox,
> >>>>>>>
> >>>>>>>> ListView, TableView, ...).
> >>>>>>>>>
> >>>>>>>>> Best regards,
> >>>>>>>>> Tobi
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Am 03.07.2013 um 21:47 schrieb Daniel Zwolenski <
> zonski at gmail.com>:
> >>>>>>>>>
> >>>>>>>>> Tobi, this is awesome! But you've left us hanging :)
> >>>>>>>>>>
> >>>>>>>>>> Did you use the 78 backport for this or just straight out J8?
> >>>>>>>>>>
> >>>>>>>>>> What are the steps to reproduce your working build?
> >>>>>>>>>>
> >>>>>>>>>> Very darn exciting!
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> On 04/07/2013, at 2:50 AM, Danno Ferrin <
> danno.ferrin at shemnon.com>
> >>>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>> JavaFX 8?  Does RoboVM support invokedynamic?  That is a big
> deal if
> >>>>>>>>>>>
> >>>>>>>>>> so.
> >>>>>>>
> >>>>>>>> On Wed, Jul 3, 2013 at 10:07 AM, Niklas Therning <
> >>>>>>>>>>>
> >>>>>>>>>> niklas at therning.org
> >>>>>>>
> >>>>>>>> wrote:
> >>>>>>>>>>
> >>>>>>>>>>> Awesome! Can you please post the build instructions somewhere?
> I'm
> >>>>>>>>>>>>
> >>>>>>>>>>> not
> >>>>>>>
> >>>>>>>> getting a long with gradle at all. :-(
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> On Wed, Jul 3, 2013 at 6:03 PM, Tobi <tobi at ultramixer.com>
> wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>> It works! Latest JavaFX 8 (gradle based) with RoboVM on a real
> >>>>>>>>>>>>>
> >>>>>>>>>>>> iPhone
> >>>>>>>
> >>>>>>>> with
> >>>>>>>>>>>>
> >>>>>>>>>>>>> native text rendering and JFX CSS rendering!
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Tobi
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>
> >>>>>>>
> >>>>
> >>
>
>


More information about the openjfx-dev mailing list