Инструкции по сборке проекта под iOS уже были доступны уже в течение некоторого времени, однако у простых разработчиков как-то не получалось запускать что-то сложнее чем «здравствуй мир» на реальных девайсах.

40 Минут назад, некто Johan написал в рассылку mobile-dev@openjdk о том, что ему удалось запустить приложение использующее Gluon Charm (Material Design UI) в JavaFX (OpenJFX 9) в Java на iPad mini. На мой взгляд это существенно достижение!
Оригинал текста письма
Hi,
Thanks to the great instructions at
openjdk.java.net/projects/mobile/ios.html I have everything working
now on a real iPad.
I run an application using Gluon Charm (Material Design UI controls) on top
of JavaFX (OpenJFX 9) on top of Java on my iPad mini, so this is a
real-world complete stack.


Сборка для iOS под ARM 64 осуществляется при помощи интерпретатора Zero, поскольку Apple не позволяет динамическую сборку кода в iOS для ARM 64, для x64 используется Hotspot JIT.

Комментарии (6)


  1. vedenin1980
    26.01.2016 01:03

    Эээ, вы уверены, что правильно понимаете новость? Судя по оригинальной статье речь идет о портировании ДЕВЯТОЙ версии OpenJDK (Самой новой, которой ещё реально нет в продакшене нигде), я, конечно, могу ошибаться, но судя по этой странице и этой странице порт 8 версии для iOS существует уже довольно давно.

    Может быть суть не в том что «OpenJDK наконец-то портирован на iOS», а «самая последняя версия OpenJDK наконец-то портирована и на iOS»?


    1. Andruhon
      26.01.2016 02:30

      Поправил заголовок. Очень обрадовался, торопился.


  1. cypok
    26.01.2016 09:10

    Сборка для iOS осуществляется при помощи интерпретатор Zero, поскольку Apple не позволяет динамическую сборку кода в iOS.
    А можете пояснить? То есть абсолютно весь код интерпретируется?


    1. Andruhon
      26.01.2016 11:42

      Уточняю, для x64 используется Hotspot JIT. Для ARM с Zero всё хитро, я сам этот процесс не понимаю, нужно разбираться, про это есть достаточно подробная статья: community.oracle.com/docs/DOC-983740


    1. igor_suhorukov
      26.01.2016 19:47
      +3

      Вроде по соображениям безопасности Apple запрещает приложениям модифицировать свой двоичный код во время исполнения. Что делает невозможным использование JIT в обычных приложениях


    1. 23derevo
      27.01.2016 00:59
      +1

      Подключат AOT-компилятор и вперед.
      А пока что да, можно интерпретировать с помощью Zero.

      Ты мне сейчас хочешь сказать, что Excelsior не участвует в создании AOT-компилятора для Oracle JDK для iOS и Android? Чото, зная всю эту кухню, я в такое не верю.