JavaFX
JavaFX — платформа на основе Java для создания приложений с насыщенным графическим интерфейсом. Может использоваться как для создания настольных приложений, запускаемых непосредственно из-под операционных систем, так и для интернет-приложений (RIA), работающих в браузерах, и для приложений на мобильных устройствах. JavaFX призвана заменить использовавшуюся ранее библиотеку Swing. Платформа JavaFX конкурирует с Microsoft Silverlight, Adobe Flash и аналогичными системами.
Начиная с версии Java 11 больше не входит в Java SE и не разрабатывается компанией Oracle (как отдельный модуль поддерживается компанией Gluon)[3]. Oracle будет поддерживать JavaFX в составе Java JDK 8 до марта 2025.[4]
Версия 1.0
Технология JavaFX была впервые продемонстрирована корпорацией Sun Microsystems на конференции JavaOne в мае 2007 года. 4 декабря 2008 года вышла версия 1.0 платформы, содержащая следующие компоненты:
- Средства разработки — компилятор и среда исполнения JavaFX, язык программирования JavaFX Script, а также графические, медийные и веб-библиотеки для создания RIA-приложений для настольных компьютеров, веб-сайтов и мобильных устройств.
- Интегрированная среда разработки NetBeans IDE (версии 6.*) — средства для кодирования и отладки приложений, написанных на JavaFX Script. В редакторе JavaFX Script есть возможность быстрого добавления объектов JavaFX с уже готовыми геометрическими фигурами, компонентами интерфейса пользователя, средствами преобразования и анимацией.
- Production Suite — набор инструментов и плагинов для импорта графических объектов в приложения JavaFX. Включает следующие компоненты:
- Плагины для графических редакторов Adobe Photoshop CS3, CS4 и Adobe Illustrator CS3, CS4. С помощью плагинов можно экспортировать графические объекты из этих приложений в код JavaFX Script.
- Media Factory: набор инструментов для конвертирования SVG-графики в код JavaFX и просмотра графических объектов, импортированных в JavaFX из других форматов. Также включает примеры приложений, учебные курсы, статьи, API-документацию и примеры кода.
Программирование для платформы
Приложения JavaFX создаются с помощью декларативного языка программирования JavaFX Script. Для разработки приложений на языке JavaFX Script необходимо установить JavaFX SDK, который входит в поставку с Java SE 7. Из кода, написанного на языке JavaFX Script, можно обращаться к любым библиотекам Java. Поэтому совместное использование языков Java и JavaFX Script позволяет решать разнообразные задачи, например, логика бизнес-приложения может быть написана на Java, а графический интерфейс пользователя — на JavaFX Script.
По состоянию на 2010 год поддерживаются следующие платформы:
Платформа | CPU архитектура | Версия | JavaFX |
---|---|---|---|
Linux | 32 и 64 бит | gtk2 2.18+ | 2.2 |
Solaris | 32 и 64 бит | 10 | 2.2 |
Windows Vista | x86 и x86-64 | SP2 | 2.0 |
Windows XP | x86 и x86-64 | SP3 | 2.0 |
Windows 7 | x86 и x86-64 | SP1 | 2.0 |
Mac OS X | 64-бит | 10.7.3+ | 2.2 |
Для создания приложений для мобильных устройств разработчикам предлагается мобильный эмулятор, входящий в состав SDK.
История изменений
JavaFX 1.2
Дата выпуска — 2 июня 2009 года.
- Значительно переработана предыдущая версия. API и синтаксис были изменены настолько, что стали несовместимы с предыдущими версиями. Из этого следует, что для работы программ, скомпилированных для предыдущих версий, для работы с текущей необходима их перекомпиляция.
- Улучшена поддержка CSS.
- Улучшены элементы графического интерфейса предыдущей версии, добавлены новые.
- Улучшена производительность JavaFX Runtime.
- В плагине к среде разработки NetBeans 6.8 — улучшена поддержка разработки приложений для мобильных устройств.
- В плагине к среде разработки NetBeans 6.8 улучшен редактор кода.
- В JavaFX Production Suite добавлены опции.
JavaFX 1.3
- Добавлены новые элементы графического интерфейса.
- Улучшена поддержка CSS.
- Улучшены элементы графического интерфейса предыдущей версии.
- Улучшена производительность JavaFX Runtime.
- Добавлена поддержка разработки приложений для TV (в плагин к среде разработки NetBeans 6.9 включён соответствующий эмулятор).
- В плагине к среде разработки NetBeans 6.9 улучшена поддержка разработки приложений для мобильных устройств. На Mac OC теперь есть возможность использовать эмулятор мобильных устройств.
- В плагине к среде разработки NetBeans 6.9 улучшен редактор кода (расширен список возможного рефакторинга).
- В JavaFX Production Suite добавлены опции.
JavaFX 1.3.1
Выпущен 21 августа 2010 года.
- Ускорен запуск приложений JavaFX.
- Новый процесс запуска JavaFX-апплетов и Web-приложений, которые могут быть настроены разработчиками.
JavaFX 2.0
Вышел 10 октября 2011 года.
- Медиа-движок, поддерживающий воспроизведение мультимедийного контента.
- Веб-компонент, позволяющий встраивать HTML в приложения JavaFX.
- Обновлённый плагин для браузера, который осуществляет загрузку апплетов JavaFX на основе Prism.
- Набор элементов управления пользовательского интерфейса, такие, как диаграммы, таблицы, меню и панели.
- Для декларативного описания пользовательских интерфейсов применён XML подобный язык разметки — FXML.
- Примеры приложений, демонстрирующие технологии JavaFX 2.0.
JavaFX 2.1
Дата выпуска 27 апреля 2012 года
- Поддержка H.264 и AAC.
- Официальная поддержка Mac OS X.
- LCD text.
- Улучшены компоненты пользовательского интерфейса: Combo box, диаграмма и панель меню.
- Компонент Webview теперь позволяет посредством JavaScript вызывать Java-методы.
JavaFX 2.2
Дата выпуска 14 августа 2012 года
- Поддержка воспроизведения H.264 и AAC.
- Поддержка Linux (включая плагин для браузера и WebStart-приложения).
- Canvas.
- Новые компоненты управления: Color Picker, Pagination.
- Поддержка HTTP Live Streaming (не будет работать в Windows XP).
- Сенсорные события и жесты.
- API для манипуляции над изображением.
JavaFX 8
Дата выпуска 18 марта 2014 года
JavaFX стал частью пакетов JRE/JDK вместе с версией Java 8.
- Поддержка 3D графики.
- Поддержка сенсорного ввода.
- Поддержка печати.
JavaFX 11
Дата выпуска 11 сентября 2018 года
- Oracle объявила о прекращении поставки JavaFX с JDK 11 и более поздними версиями (JavaFX больше не входит в комплект JDK).
- Поддержка MathML с JavaFX 11
- FX Robot API
См. также
- Adobe Integrated Runtime (AIR)
- Mozilla Prism
- Google Gears
- Google Web Toolkit
- Microsoft Silverlight
- Adobe Flex
Примечания
- ↑ JavaFX Roadmap 20.0.1 (April 2023) — 2023.
- ↑ https://gluonhq.com/products/javafx/
- ↑ Gluon and JavaFX . Дата обращения: 10 февраля 2019. Архивировано 29 апреля 2019 года.
- ↑ Oracle Java SE Support Roadmap . Oracle Technology Network. Oracle (13 мая 2020). Дата обращения: 31 мая 2020. Архивировано 31 декабря 2019 года.
Ссылки
- Официальный сайт платформы JavaFX (англ.)
- Ресурсы по JavaFX на сайте Oracle (англ.)
- * Автоматизированные техники тестирования интерфейсов на примере интерфейса JavaFX — выступление на конференции YaC (рус.)