stringtranslate.com

JavaFX

JavaFX — это программная платформа для создания и доставки настольных приложений , а также многофункциональных веб-приложений , которые могут работать на самых разных устройствах. JavaFX поддерживает настольные компьютеры и веб-браузеры [ необходима ссылка ] на Microsoft Windows , Linux (включая Raspberry Pi ) и macOS , а также мобильные устройства под управлением iOS и Android через Gluon Mobile.

С выпуском JDK 11 в 2018 году Oracle сделала JavaFX частью OpenJDK в рамках проекта OpenJFX [3] , чтобы ускорить темпы его разработки. [4]

JavaFXPorts с открытым исходным кодом работает для iOS (iPhone и iPad) и Android. [5] Соответствующее коммерческое программное обеспечение, созданное под названием «Gluon», поддерживает те же мобильные платформы с дополнительными функциями, а также настольные компьютеры. [6] Это позволяет использовать единую базу исходного кода для создания приложений для настольных компьютеров, устройств iOS и Android.

Функции

JavaFX 1.1 был основан на концепции «общего профиля», который предназначен для всех устройств, поддерживаемых JavaFX. Такой подход позволяет разработчикам использовать общую модель программирования при создании приложения, предназначенного как для настольных, так и для мобильных устройств, и распределять большую часть кода, графических ресурсов и контента между настольными и мобильными версиями. Чтобы удовлетворить потребность в настройке приложений для определенного класса устройств, платформа JavaFX 1.1 включает API , предназначенные для настольных компьютеров или мобильных устройств. Например, профиль JavaFX Desktop включает Swing и расширенные визуальные эффекты.

Конечным пользователям функция «Перетащить для установки» позволяет перетащить виджет JavaFX — приложение, находящееся на веб-сайте, — и поместить его на свой рабочий стол. Приложение не потеряет свое состояние или контекст даже после закрытия браузера. Приложение также можно перезапустить, щелкнув ярлык, который автоматически создается на рабочем столе пользователя. Такое поведение включено по умолчанию механизмом Java-апплетов начиная с обновления Java 6u10 и используется JavaFX на базовом уровне Java. Sun рекламирует технологию «Drag-to-Install» как новую модель распространения, позволяющую разработчикам «оторваться от браузера».

JavaFX 1.x включал набор плагинов для Adobe Photoshop и Illustrator, которые позволяют интегрировать расширенную графику непосредственно в приложения JavaFX. Плагины генерируют код JavaFX Script, который сохраняет слои и структуру графики. Затем разработчики могут добавлять анимацию или эффекты к импортированной статической графике. Существует также инструмент преобразования графики SVG (также известный как Media Factory), который позволяет импортировать графику и просматривать ресурсы после преобразования в формат JavaFX.

До версии JavaFX 2.0 разработчики использовали статически типизированный декларативный язык под названием JavaFX Script для создания приложений JavaFX. Поскольку JavaFX Script был скомпилирован в байт-код Java , программисты также могли использовать вместо него код Java . Приложения JavaFX до версии 2.0 могли работать на любом настольном компьютере, поддерживающем Java SE , как и в текущих версиях. [7]

JavaFX 2.0 и более поздние версии реализованы как библиотека Java, а приложения, использующие JavaFX, пишутся с использованием обычного кода Java. Oracle отказалась от языка сценариев, однако его разработка продолжалась в течение нескольких лет в проекте Visage и окончательно завершилась в 2013 году. [8] [9]

Sun Microsystems лицензировала специальный шрифт под названием Amble для использования на устройствах с поддержкой JavaFX. Семейство шрифтов было разработано специалистом по дизайну мобильных пользовательских интерфейсов Punchcut и доступно как часть JavaFX SDK 1.3 Release.

Веб-представление

WebView , встроенный компонент веб-браузера , использует механизм браузера WebKit . Он поддерживает обычные функции HTML5, такие как холст, медиа, счетчик, прогресс, подробные сведения и сводные теги, а также MathML, SVG, JavaScript и CSS. Поддержка WebAssembly не включена.

JavaFX для мобильных устройств

JavaFX Mobile представлял собой реализацию платформы JavaFX для многофункциональных веб-приложений , предназначенных для мобильных устройств . Приложения JavaFX Mobile 1.x могут разрабатываться на том же языке JavaFX Script , что и приложения JavaFX 1.x для браузера или настольного компьютера, и с использованием тех же инструментов: JavaFX SDK и JavaFX Production Suite. Эта концепция позволяет совместно использовать кодовую базу и графические ресурсы для настольных и мобильных приложений. Благодаря интеграции с Java ME приложения JavaFX получают доступ к возможностям базового телефона, таким как файловая система , камера, GPS , Bluetooth или акселерометр .

JavaFX Mobile — независимая платформа приложений, построенная на Java, которая способна работать на нескольких мобильных операционных системах, включая Android , Windows Mobile и собственные операционные системы реального времени .

JavaFX Mobile был общедоступен как часть версии JavaFX 1.1, анонсированной Sun Microsystems 12 февраля 2009 года.

Sun планировала обеспечить готовую поддержку JavaFX на устройствах, работая с производителями мобильных телефонов и операторами мобильной связи над предварительной загрузкой среды выполнения JavaFX Mobile на телефоны. JavaFX Mobile, работающий на Android, был продемонстрирован на выставке JavaOne 2008, а о некоторых партнерских отношениях (включая LG Electronics и Sony Ericsson ) было объявлено при запуске JavaFX Mobile в феврале 2009 года.

Компоненты

Платформа JavaFX включает в себя следующие компоненты:

История

Релизы после обновления версии

JavaFX теперь является частью JRE/JDK для Java 8 (выпущенной 18 марта 2014 г.) и имеет ту же нумерацию, то есть JavaFX 8. [10]

В JavaFX 8 добавлено несколько новых функций, в том числе: [11]

Пример простой 3D-сцены с использованием JavaFX.

Функции JavaFX 9 были сосредоточены на извлечении некоторых полезных частных API из кода JavaFX, чтобы сделать эти API общедоступными:

Oracle объявила о своем намерении прекратить включение JavaFX в свою сборку JDK 11 и более поздних версий. [16] Он больше не входит в состав последней версии.

JavaFX 11 впервые был выпущен в сентябре 2018 года.

JavaFX 12 впервые был выпущен в марте 2019 года.

JavaFX 13 выпущен в сентябре 2019 года.

JavaFX 14 был выпущен в марте 2020 года.

JavaFX 15 был выпущен в сентябре 2020 года.

JavaFX 16 был выпущен в марте 2021 года.

JavaFX 17 был выпущен в сентябре 2021 года. Основные моменты:

JavaFX 18 был выпущен в марте 2022 года. Основные характеристики:

JavaFX 19 был выпущен в сентябре 2022 года. Основные моменты:

JavaFX 20 был выпущен в марте 2023 года. Основные характеристики:

Ранние выпуски

JavaFX Script, компонент сценариев JavaFX, начал свою жизнь как проект Криса Оливера под названием F3. [24]

Sun Microsystems впервые анонсировала JavaFX на конференции JavaOne Worldwide Java Developer в мае 2007 года.

В мае 2008 года Sun Microsystems объявила о планах предоставить JavaFX для браузеров и настольных компьютеров к третьему кварталу 2008 года, а JavaFX для мобильных устройств - во втором квартале 2009 года. Sun также объявила о многолетнем соглашении с On2 Technologies о предоставлении комплексных возможностей видео. к семейству продуктов JavaFX с помощью видеокодека TrueMotion компании . С конца июля 2008 года разработчики могли загрузить предварительную версию JavaFX SDK для Windows и Macintosh, а также плагин JavaFX для NetBeans 6.1 .

Основные выпуски, начиная с JavaFX 1.1, имеют название, основанное на названии улицы или района Сан-Франциско . Выпуски обновлений обычно не имеют названия выпуска. [25]

4 декабря 2008 г. компания Sun выпустила JavaFX 1.0.2.

JavaFX для мобильной разработки наконец стал доступен как часть версии JavaFX 1.1 (названной Franca [25] ), официально анонсированной 12 февраля 2009 года.

JavaFX 1.2 (названный Marina [25] ) был выпущен на JavaOne 2 июня 2009 года. В этом выпуске были представлены: [26]

JavaFX 1.3 (названный Soma [25] ) был выпущен 22 апреля 2010 года. В этом выпуске были представлены: [27]

JavaFX 1.3.1 был выпущен 21 августа 2010 г. В этом выпуске представлены:

JavaFX 2.0 (названный Presidio [25] ) был выпущен 10 октября 2011 года. В этом выпуске были представлены:

В библиотеках JavaFX были внесены различные улучшения для многопоточности. API-интерфейсы задач были обновлены для поддержки гораздо более лаконичных возможностей потоковой обработки (т. е. класс JavaTaskBase больше не нужен, поскольку все API-интерфейсы написаны на Java, и требование наличия интерфейса обратного вызова и класса реализации Java больше не требуется). Кроме того, граф сцены был разработан таким образом, чтобы позволить сценам создаваться в фоновых потоках, а затем прикрепляться к «живым» сценам потокобезопасным способом .

26 мая 2011 г. Oracle выпустила бета-версию JavaFX 2.0. Бета-версия была доступна только для 32- и 64-разрядных версий Microsoft Windows XP, Windows Vista и Windows 7. Версия раннего доступа для Mac OS X в то время также была доступна для членов партнерской программы JavaFX, тогда как поддержка Linux была доступна. запланировано для будущего выпуска JavaFX. JavaFX 2.0 был выпущен только с поддержкой Windows. Поддержка Mac OS X была добавлена ​​в JavaFX 2.1. Поддержка Linux была добавлена ​​в JavaFX 2.2.

JavaFX 2.0 использует новый декларативный язык XML, называемый FXML . [28] [29]

27 апреля 2012 г. Oracle выпустила версию 2.1 JavaFX [30] , которая включает в себя следующие основные функции: [31]

14 августа 2012 г. Oracle выпустила версию 2.2 JavaFX [32] , которая включает в себя следующие основные функции: [33]

В JavaFX 2.2 добавлена ​​новая опция упаковки под названием Native Packaging, позволяющая упаковывать приложение в виде «родного пакета». Это дает пользователям возможность устанавливать и запускать приложение без каких-либо внешних зависимостей от системной JRE или FX SDK.

Начиная с обновления 6 Oracle Java SE 7 и JavaFX 2.2, JavaFX поставляется в комплекте для установки с платформой Oracle Java SE. [10]

Будущая работа

В ноябре 2012 года Oracle также объявила об открытии исходного кода Decora, языка шейдеров DSL для JavaFX, позволяющего генерировать шейдеры для OpenGL и Direct3D . [34]

В своей дорожной карте поддержки клиентов Oracle написала, что новые исправления JavaFX будут продолжать поддерживаться в Java SE 8 до марта 2025 года. [35] Ранее Oracle объявила, что они «работают с заинтересованными третьими сторонами, чтобы упростить создание и поддержку JavaFX как отдельно распространяемый модуль с открытым исходным кодом». JavaFX в будущем будет поддерживаться компанией Gluon в качестве загружаемого модуля в дополнение к JDK. [36]

Доступность

По состоянию на март 2014 года JavaFX развернут в Microsoft Windows , OS X и Linux . [37] Oracle имеет внутренний порт JavaFX для iOS и Android . [38] [39] Поддержка ARM доступна начиная с JavaFX 8. [40] 11 февраля 2013 года Ричард Бэйр, главный архитектор клиентской платформы Java в Oracle, объявил, что Oracle откроет исходный код реализаций iOS и Android. свою платформу JavaFX в ближайшие два месяца. [41] [42]

Начиная с версии 8u33 JDK для ARM, поддержка JavaFX Embedded удалена. [43]

Поддержка архитектур на базе x86 продолжится. [44]

Коммерческий порт JavaFX для Android и iOS создан под названием «Gluon». [6]

Лицензия

Существуют различные лицензии для предыдущих модулей, которые использовались для создания среды выполнения JavaFX:

В ходе разработки Sun объяснила, что они будут внедрять свою стратегию модели лицензирования JavaFX для первого выпуска JavaFX. [48] ​​После выпуска в 2008 году Джит Каул, вице-президент Sun по клиентскому программному обеспечению, объяснил, что вскоре они опубликуют спецификацию JavaFX и связанных с ней форматов файлов , продолжат открывать исходный код среды выполнения JavaFX и отделят это ядро ​​от из запатентованных частей, лицензированных внешними сторонами. [49]

На выставке JavaOne 2011 корпорация Oracle объявила, что JavaFX 2.0 станет открытым исходным кодом. [28] С декабря 2011 года Oracle начала открывать исходный код JavaFX под исключением привязки GPL + . [2] [50] [ ненадежный источник? ]

В декабре 2012 года Oracle выложила в открытый доступ новые части исходного кода JavaFX: [51]

Смотрите также

Рекомендации

  1. ^ «Продукты » JavaFX» . Проверено 20 июня 2023 г.
  2. ^ ab «Проект OpenJFX». Корпорация Оракл . Архивировано из оригинала 5 декабря 2011 г. Проверено 7 декабря 2011 г.
  3. ^ "Домашняя страница разработчика JavaFX" . www.oracle.com . Архивировано из оригинала 12 июля 2019 г. Проверено 14 июня 2019 г.
  4. Смит, Дональд (7 марта 2018 г.). «Будущее JavaFX и других обновлений дорожной карты клиента Java». Архивировано из оригинала 17 ноября 2018 года . Проверено 14 июня 2019 г.
  5. ^ "JavaFXPorts - Глюон" . Глюон . Архивировано из оригинала 2 мая 2018 г. Проверено 1 мая 2018 г.
  6. ^ ab «Мобильные корпоративные приложения Rapid: создавайте, подключайте, управляйте с помощью Gluon». 16 декабря 2017 г. Архивировано из оригинала 15 декабря 2017 г. Проверено 16 декабря 2017 г.
  7. ^ «Обзор JavaFX (выпуск 8)» . docs.oracle.com . 2014. Архивировано из оригинала 21 октября 2021 г. Проверено 26 декабря 2021 г.
  8. ^ «Архив кода Google — долгосрочное хранилище для хостинга проектов Google Code» . Code.google.com . Архивировано из оригинала 1 апреля 2016 г. Проверено 1 августа 2016 г.
  9. ^ «Язык визуальных образов». Гитхаб . Архивировано из оригинала 7 июля 2023 г. Проверено 6 июля 2023 г.
  10. ^ ab «Часто задаваемые вопросы по JavaFX». Oracle.com . Архивировано из оригинала 29 октября 2018 г. Проверено 24 сентября 2019 г.
  11. ^ «Дорожная карта JavaFX» . Корпорация Оракл . Архивировано из оригинала 1 декабря 2012 г. Проверено 24 ноября 2012 г.
  12. ^ Ян, Чиен. «Функции 3D, запланированные в версии 8». Корпорация Оракл . Архивировано из оригинала 7 декабря 2013 г. Проверено 24 ноября 2012 г.
  13. ^ «Функции 3D, запланированные для версии 8» . Корпорация Оракл . Архивировано из оригинала 2 мая 2013 г. Проверено 24 ноября 2012 г.
  14. ^ «Диалог (JavaFX 9)» . Архивировано из оригинала 05 января 2015 г. Проверено 5 января 2015 г.
  15. ^ Джайлз, Джонатан (14 января 2015 г.). «JEP 253: Подготовка элементов управления пользовательского интерфейса JavaFX и API-интерфейсов CSS для модуляризации». Корпорация Оракл . Архивировано из оригинала 10 марта 2016 г. Проверено 17 января 2016 г.
  16. ^ «Глюон и JavaFX». Архивировано из оригинала 29 апреля 2019 г. Проверено 29 октября 2018 г.
  17. ^ ab "javafxports/openjdk-jfx". Гитхаб . Архивировано из оригинала 03 августа 2020 г. Проверено 20 июля 2020 г.
  18. Ссылки Глюон . Архивировано из оригинала 28 сентября 2022 г. Проверено 5 октября 2022 г.
  19. ^ «Примечания к выпуску OpenJFX 12» . Глюон . Архивировано из оригинала 7 июля 2023 г. Проверено 6 июля 2023 г.
  20. ^ «Примечания к выпуску OpenJFX 13» . Глюон . Архивировано из оригинала 7 июля 2023 г. Проверено 6 июля 2023 г.
  21. ^ «Примечания к выпуску OpenJFX 14» . Глюон . Архивировано из оригинала 7 июля 2023 г. Проверено 6 июля 2023 г.
  22. ^ «Примечания к выпуску OpenJFX 15» . Глюон . Архивировано из оригинала 7 июля 2023 г. Проверено 6 июля 2023 г.
  23. ^ JavaFX 20 и последующие версии, заархивировано из оригинала 20 июня 2023 г. , получено 20 июня 2023 г.
  24. ^ "F3 (Блог Криса Оливера)" . 06 января 2012 г. Архивировано из оригинала 6 января 2012 г. Проверено 20 августа 2016 г.{{cite web}}: CS1 maint: bot: исходный статус URL неизвестен ( ссылка )
  25. ^ abcde «Репозитории и выпуски». 29 июня 2013 г. Архивировано из оригинала 19 октября 2013 г. Проверено 18 октября 2013 г.
  26. ^ Мариначчи, Джошуа (9 июня 2009 г.). «5 самых важных функций JavaFX 1.2». Архивировано из оригинала 13 июня 2009 г. Проверено 12 июня 2009 г.
  27. ^ «Выпущен JavaFX 1.3, улучшенный пользовательский опыт» . 22 апреля 2010 г. Архивировано из оригинала 30 апреля 2011 г. Проверено 25 апреля 2010 г.
  28. ^ Аб Мейер, Дэвид (6 октября 2011 г.). «Приходит JavaFX 2.0 и становится открытым исходным кодом». ЗДНет . Архивировано из оригинала 25 ноября 2011 г. Проверено 9 октября 2011 г.
  29. ^ Браун, Грег (15 августа 2011 г.). «Знакомство с FXML» (PDF) . Архивировано (PDF) из оригинала 31 января 2012 г. Проверено 9 октября 2011 г.
  30. ^ «Выпущены JDK 7u4 и JavaFX 2.1, теперь также включая Mac OS X | Across the Universe» . Terrencebarr.wordpress.com . 27 апреля 2012 г. Архивировано из оригинала 19 октября 2016 г. Проверено 1 августа 2016 г.
  31. ^ «Примечания к выпуску JavaFX 2.1» . Корпорация Оракл . Архивировано из оригинала 8 мая 2012 г. Проверено 5 мая 2012 г.
  32. ^ «Что нового в JavaFX 2.2 (блог JavaFX)» . Блоги.oracle.com . Архивировано из оригинала 21 августа 2016 г. Проверено 1 августа 2016 г.
  33. ^ «Примечания к выпуску JavaFX 2.2» . Корпорация Оракл . Архивировано из оригинала 21 августа 2012 г. Проверено 2 октября 2012 г.
  34. ^ Баир, Ричард (6 ноября 2012 г.). «Открытый исходный код: декора-компилятор». Корпорация Оракл . Архивировано из оригинала 7 декабря 2013 г. Проверено 24 ноября 2012 г.
  35. ^ «Дорожная карта поддержки Oracle Java SE» . Технологическая сеть Oracle . Оракул. 13 мая 2020 г. Архивировано из оригинала 31 декабря 2019 г. Проверено 31 мая 2020 г.
  36. Ссылки ​Архивировано из оригинала 24 мая 2019 г. Проверено 26 мая 2019 г.
  37. ^ «Общедоступная загрузка» . Корпорация Оракл . Архивировано из оригинала 26 декабря 2012 г. Проверено 5 января 2013 г.
  38. ^ Баир, Ричард (3 декабря 2012 г.). «Портирование JavaFX». Mail.openjfx.dev.java.net . Архивировано из оригинала 20 июня 2014 г. Проверено 5 января 2013 г.
  39. ^ Брандалик, Томас (07 декабря 2012 г.). «Опрос: JavaFX на планшетах и ​​мобильных устройствах». Архивировано из оригинала 20 июня 2014 г. Проверено 5 января 2013 г.
  40. ^ «1 Обзор JavaFX (выпуск 8)» . Docs.oracle.com . Архивировано из оригинала 23 июня 2016 г. Проверено 1 августа 2016 г.
  41. ^ Баир, Ричард (16 февраля 2013 г.). «Февральское обновление открытого исходного кода». Корпорация Оракл . Архивировано из оригинала 14 февраля 2013 г. Проверено 13 февраля 2013 г.
  42. ^ «Oracle объявляет о выпуске JavaFX с открытым исходным кодом для iOS и Android» . Infoq.com. 13 февраля 2013 г. Архивировано из оригинала 17 февраля 2013 г. Проверено 16 февраля 2013 г.
  43. ^ «JDK для примечаний к выпуску ARM 8u33» . Корпорация Оракл . 16 февраля 2013 г. Архивировано из оригинала 14 марта 2015 г. Проверено 9 марта 2015 г.
  44. Тема, Далибор (27 января 2013 г.). «Список рассылки Raspberry Pi: где находится JavaFX в последней версии Java 8u33 для ARM?». Архивировано из оригинала 9 марта 2015 г. Проверено 9 марта 2015 г.
  45. ^ «Проект компилятора OpenJFX» . Openjfx-compiler.dev.java.net . Проверено 7 июня 2008 г.[ постоянная мертвая ссылка ]
  46. ^ "Дом графика сцены проекта" . Scenegraph.dev.java.net . Архивировано из оригинала 06 марта 2012 г. Проверено 7 июня 2008 г.
  47. ^ «Загрузки JavaFX» . Openjfx.dev.java.net . Проверено 7 июня 2008 г.[ постоянная мертвая ссылка ]
  48. ^ «Будет ли технология JavaFX выпущена с открытым исходным кодом?». Архивировано из оригинала 12 июня 2008 г. Проверено 7 июня 2008 г.
  49. ^ Каул, Джит (16 декабря 2008 г.). «JavaFX — путь вперед». Архивировано из оригинала 17 декабря 2008 года . Проверено 3 января 2009 г.
  50. ^ Баир, Ричард (2 декабря 2011 г.). «Вызов патчей». Корпорация Оракл . Проверено 7 декабря 2011 г.[ постоянная мертвая ссылка ]
  51. ^ Сафрата, Павел (18 декабря 2012 г.). «Больше JavaFX с открытым исходным кодом». Корпорация Оракл . Архивировано из оригинала 29 декабря 2012 г. Проверено 5 января 2013 г.

Библиография

Внешние ссылки