Могу ли я использовать JavaFX с Scala Native?

Учитывая, что существуют скомпилированные версии JavaFX SDK для мобильных устройств (iOS и Android), насколько возможно это генерировать привязки Scala из этих файлов и иметь возможность использовать их из приложения Scala-Native?


person Eduardo    schedule 10.07.2016    source источник


Ответы (2)


У меня нет конкретных знаний о JavaFX, в частности. Я также не пытался скомпилировать его в родную библиотеку. Однако есть общий ответ:

Если у вас есть собственная библиотека, которая придерживается соглашений о вызовах C (что означает, что вы можете легко вызывать из C), вы также можете легко вызывать ее из Scala Native.

Короче говоря, все, что вам нужно сделать, это определить для него привязки. И я полагаю, что именно здесь начинаются проблемы, и (я полагаю) это контекст вашего вопроса. Перефразируя ваш вопрос:

Могу ли я автоматически генерировать привязки для JavaFX?

Ну... это зависит... если у вас есть заголовочный файл (.h)... ответ: скорее всего, да. Иначе: нет, scala-bindgen больше ничего не понимает.

Примечание: на момент написания этой статьи scala-bindgen все еще находилась в стадии разработки и еще не использовалась по-настоящему.

person Richard Gomes    schedule 17.07.2016
comment
Эдуардо: Пожалуйста, дайте мне знать, есть ли какой-нибудь JavaFX.h или что-то в этом роде. Этот вариант использования был бы очень интересен в наборе тестов scala-bindgen. - person Richard Gomes; 17.07.2016
comment
Я немного покопался и ничего не нашел. RoboVM смог это сделать, но я не смог понять, как это сделать, глядя на их исходный код или исходный код JavaFX. - person Eduardo; 18.07.2016

Нет, Scala Native в настоящее время не предоставляет API JavaFX.

person grinder    schedule 13.07.2016
comment
Я знаю, что в настоящее время невозможно использовать библиотеку JavaFX как есть из стандартного дистрибутива Java. Мой вопрос был о библиотеке в ее скомпилированном виде для нативного кода, который уже существует и использовался ранее с RoboVM. - person Eduardo; 13.07.2016