Scala + OpenJFX + OpenJDK - PullRequest
       16

Scala + OpenJFX + OpenJDK

0 голосов
/ 21 мая 2019

Я собираюсь начать новый проект с графическим интерфейсом, используя Scala и JavaFX / OpenJFX.

В прошлый раз, когда я принимал участие, Java 8 была современной, JavaFX был интегрирован как с JDK, так и с JRE, а Scala использовала JDK 8 для сборки, Jigsaw там не было, и Oracle предоставил (бесплатно) (исправление) исправления почти навсегда.

Теперь, несколько лет спустя, все изменилось довольно резко: Java 11+ - это то, что мы должны использовать, JavaFX отделен и его разработка продолжается как OpenJFX (более или менее) независимо от Java, Jigsaw есть Oracle заставляет пользователей обновлять свою среду каждые 6 месяцев.

Эти изменения не были бы слишком плохими, если бы не тот факт, что Scala все еще работает на JDK 8, сборки OpenJDK не включают JavaFX, а AFAIR, OpenJFX недоступна для версии Java до Java 11.

Все это приводит меня к вопросу: какой набор инструментов можно использовать для реализации приложения Scala с использованием JavaFX / OpenJFX в качестве инструментария GUI?

Безопасно ли использовать Scala с JDK (не JRE!) 11 +?

1 Ответ

0 голосов
/ 21 мая 2019

Oracle заставляет пользователей обновлять свою среду каждые 6 месяцев.

Как отмечается в комментариях , это не так. Вы все еще можете использовать JDK 8 даже. Если вы хотите использовать Oracle LTS, используйте Java 11. Существуют другие компании, которые предоставляют LTS другим версиям OpenJDK (RedHat JDK, Azure JDK ...). Марк Рейнхольд (главный архитектор Java) много раз объяснял это в своих беседах ( 1 , 2 или любых своих беседах , которые он повторял 3 раза в год для последние 2 года).

Какой набор инструментов можно использовать для реализации приложения Scala с использованием JavaFX / OpenJFX в качестве инструментария GUI?

Я не разработчик Scala, но использую любую последнюю сборку OpenJDK Scala позволяет вам, и в зависимости от того, нужна ли вам какая-либо поддержка и какая версия OpenJDK поддерживается. Я готов поспорить, что OpenJDK 11 удовлетворит все ваши потребности.

JavaFX был удален из Oracle JDK, но никогда не включался в OpenJDK JDK 1 . Вы можете легко связать OpenJFX 2 в качестве зависимости при использовании OpenJDK, либо в качестве внешнего JAR-файла, либо через менеджер зависимостей (Gradle, Maven ...). Веб-сайт JavaFX / OpenJFX - https://openjfx.io и содержит инструкции о том, как это сделать.

версии JavaFX / OpenJFX выпускаются параллельно (более или менее) с JDK и поддерживают 1 версию OpenJDK (OpenJFX N поддерживает JDK N-1 и JDK N, а может JDK N-2) ...). Таким образом, если вы используете OpenJDK 11, вы можете использовать OpenJFX 11 или 12. OpenJFX 13+ может работать, но это не гарантируется.

Безопасно ли использовать Scala с JDK (не JRE!) 11 +?

Если ваша версия Scala поддерживает это, OpenJDK 11+ и OpenJFX 11+ безопасны. Обратите внимание, что JRE был удален из JDK, поэтому он не имеет значения.

1 OpenJDK JDK - это правильный способ ссылки на него, например Oracle JDK , но большинство людей просто используют OpenJDK.

2 OpenJFX для JavaFX что OpenJDK JDK для Oracle JDK , но OpenJFX и JavaFX используются взаимозаменяемо, поскольку реальной разницы нет.

...