JavaFX является частью OpenJDK
Сам проект JavaFX является открытым исходным кодом и является частью проекта OpenJDK .
Создание JavaFX из репозитория OpenJDK
Вы можете полностью открыть открытую версию OpenJDK (включая JavaFX) из источника, не зависящего от Oracle JDK или закрытого исходного кода.
Обновление: использование дистрибутива JavaFX, предварительно созданного из источников OpenJDK
Как отмечено в комментариях к этому вопросу, и в другом ответе, дистрибутивы Debian Linux предлагают двоичную дистрибуцию JavaFX на основе OpenJDK:
- https://packages.qa.debian.org/o/openjfx.html
-
Установите через:
sudo apt-get install openjfx
Различия между Open JDK и Oracle JDK в отношении JavaFX
Следующая информация была предоставлена ??для Java 8. Начиная с Java 9, кодирование VP6 устарело для JavaFX, а технология развертывания встроенного приложения Oracle WebStart / Browser также устарела . Поэтому будущие версии JavaFX, даже если они распространяются Oracle, скорее всего, не будут включать технологию, которая не является открытым исходным кодом.
Oracle JDK включает некоторое программное обеспечение, которое не может использоваться в OpenJDK. Существует два основных компонента, которые относятся к JavaFX.
- Видеокодек ON2 VP6, который принадлежит Google и Google, не открыт.
- Технология развертывания приложений Oracle WebStart / Browser Embedded.
Это означает, что открытая версия JavaFX не может воспроизводить файлы VP6 FLV. Это не большая потеря, так как трудно найти VP6-кодировщики или медиа, закодированные в VP6.
Другие более распространенные видеоформаты, такие как H.264, будут воспроизводиться отлично с открытой версией JavaFX (если у вас есть соответствующие кодеки, предварительно установленные на целевой машине).
Отсутствие технологии развертывания WebStart / Browser Embedded действительно связано с самим OpenJDK, а не с JavaFX. Эта технология может использоваться для развертывания приложений, отличных от JavaFX.
Было бы замечательно, если бы сообщество OpenSource разработало технологию развертывания для Java (и другого программного обеспечения), полностью заменив методы развертывания WebStart и Browser Embedded, что позволило бы легко и без труда использовать пользовательский интерфейс для распространения приложений. Я считаю, что некоторые проекты начали выполнять такую ??задачу, но они еще не достигли высокой зрелости и уровня принятия.
Лично я считаю, что развертывание WebStart / Browser Embedded является устаревшей технологией, и в настоящее время существуют лучшие способы развертывания многих приложений JavaFX (таких как автономные приложения).
Кому нужно создавать дистрибутивы Linux OpenJDK, которые включают JavaFX
Это зависит от людей, которые создают пакеты для дистрибутивов Linux на основе OpenJDK (например, Redhat, Ubuntu и т. Д.) Для создания RPM для JDK и JRE, которые включают JavaFX. Эти распространители программного обеспечения, затем должны помещать сгенерированные пакеты в свои стандартные репозитории кода распространения (например, репозитории fedora / red hat network yum). В настоящее время это не делается, но я был бы очень удивлен, если бы пакеты Java 8 Linux не включали JavaFX, когда Java 8 выпущена в марте 2014 года.
Рекомендации по развертыванию для значительных приложений
Я советую использовать автономный режим развертывания приложений Java .
Описание этого режима развертывания:
Приложение установлено на локальном диске и запускается как отдельная программа с использованием частной копии времени выполнения Java и JavaFX. Приложение можно запускать так же, как и другие собственные приложения для этой операционной системы, например, с помощью ярлыка на рабочем столе или записи в меню.
Вы можете создать автономное приложение либо из дистрибутива Oracle JDK, либо из сборки OpenJDK, которая включает JavaFX. В настоящее время это проще сделать с помощью Oracle JDK.
Поскольку версия Java поставляется вместе с вашим приложением, вам не нужно заботиться о том, какая версия Java могла быть предварительно установлена ??на компьютере, какие возможности она имеет и совместима ли она с вашей программой. Вместо этого вы можете протестировать свое приложение против точной версии исполнения Java и распространять его с вашим приложением. Пользовательский интерфейс для развертывания вашего приложения будет таким же, как установка собственного приложения на своем компьютере (например, Windows .exe или .msi, OS X .dmg, linux. Rpm или .deb).
Обновление, апрель 2018 года: информация о текущей политике Oracle в отношении будущих разработок
- Будущее обновления JavaFX и других Java-карт Roadman от Дональда Смита, старшего директора по управлению продуктами Oracle.
- Обновление дорожной карты клиента Java - март 2018 года .