JavaFX8 on iPhone! It works!

Tobi tobi at ultramixer.com
Fri Jul 5 05:37:03 PDT 2013


Mono is not Java and does not need the android java class library...

Von meinem iPhone gesendet

Am 05.07.2013 um 14:37 schrieb Hervé Girod <herve.girod at gmail.com>:

> I'm with Tobias. Android class library has really stalled a lot compared to Java, and it wont improve in the future, and sticking to an outdated class library is not very interesting IMO.
> 
> Beside we don't specifically need Android class library to compile AOT. Mono work on Android, and it even does not use Android class library.
> 
> Hervé
> 
> Sent from my iPhone
> 
> On 5 juil. 2013, at 13:57, Niklas Therning <niklas at therning.org> wrote:
> 
>> 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