0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>История</a></li>
1
<ul><li><a>История</a></li>
2
<li><a>Сферы применения</a></li>
2
<li><a>Сферы применения</a></li>
3
<li><a>Что может платформа</a></li>
3
<li><a>Что может платформа</a></li>
4
<li><a>Основные плюсы проекта</a></li>
4
<li><a>Основные плюсы проекта</a></li>
5
<li><a>Сравнение со Swing</a></li>
5
<li><a>Сравнение со Swing</a></li>
6
<li><a>Основные библиотеки</a></li>
6
<li><a>Основные библиотеки</a></li>
7
</ul><p>Java FX - это мощный инструмент, который помогает создавать клиентские приложения, оснащенные насыщенными графическими интерфейсами. Технология, развивающаяся в рамках проекта OpenJFX. Она включает в себя все преимущества Java для разработки приложений.</p>
7
</ul><p>Java FX - это мощный инструмент, который помогает создавать клиентские приложения, оснащенные насыщенными графическими интерфейсами. Технология, развивающаяся в рамках проекта OpenJFX. Она включает в себя все преимущества Java для разработки приложений.</p>
8
<p>JavaFX является современным, практичным и удобным инструментом. Он широко используется в разработке игр и десктопных приложений. Оснащен мощными средствами и дополнительными библиотеками, благодаря которым программисты могут создавать читабельные и компактные исходные коды.</p>
8
<p>JavaFX является современным, практичным и удобным инструментом. Он широко используется в разработке игр и десктопных приложений. Оснащен мощными средствами и дополнительными библиотеками, благодаря которым программисты могут создавать читабельные и компактные исходные коды.</p>
9
<h2>История</h2>
9
<h2>История</h2>
10
<p>JavaFX - проект, созданный в первой половине 2000-х годов. Его реализацией занялся некий Крис Оливер, разработчик SeeBeyond. Он создал для графических интерфейсов язык F3. В 2005 году SeeBeyond была выкуплена Sun Microsystems - она развивала Java до покупки корпорацией Oracle. F3 получил совершенно новое название - JavaFX.</p>
10
<p>JavaFX - проект, созданный в первой половине 2000-х годов. Его реализацией занялся некий Крис Оливер, разработчик SeeBeyond. Он создал для графических интерфейсов язык F3. В 2005 году SeeBeyond была выкуплена Sun Microsystems - она развивала Java до покупки корпорацией Oracle. F3 получил совершенно новое название - JavaFX.</p>
11
<p>Первые наработки платформы были представлены в мае 2007 года. Ее Sun Microsystems анонсирована в качестве инструмента создания графических приложений. В начале декабря 2008 года состоялся официальный релиз Java FX 1.0 SDK.</p>
11
<p>Первые наработки платформы были представлены в мае 2007 года. Ее Sun Microsystems анонсирована в качестве инструмента создания графических приложений. В начале декабря 2008 года состоялся официальный релиз Java FX 1.0 SDK.</p>
12
<p>Чуть позже организация была выкуплена Oracle - права на рассматриваемую платформу перешли к ней. В 2010 корпорация анонсировала, а 2011 выпустила 2 версию Java FX. Она была полностью переписана, а ранее используемый скриптовый язык убрали. С тех пор приложения можно было создавать на любом языке, поддерживающем JVM.</p>
12
<p>Чуть позже организация была выкуплена Oracle - права на рассматриваемую платформу перешли к ней. В 2010 корпорация анонсировала, а 2011 выпустила 2 версию Java FX. Она была полностью переписана, а ранее используемый скриптовый язык убрали. С тех пор приложения можно было создавать на любом языке, поддерживающем JVM.</p>
13
<p>В сентябре 2021 года вышла JavaFX 17. Это последняя актуальная версия на сегодня. Разработчики часто используют для обучения JavaFX 8 и 9.</p>
13
<p>В сентябре 2021 года вышла JavaFX 17. Это последняя актуальная версия на сегодня. Разработчики часто используют для обучения JavaFX 8 и 9.</p>
14
<p>Сейчас рассматриваемый модуль является предпочтительным способом создания графических приложений на Джаве. Он служит заменой AWT и Swing.</p>
14
<p>Сейчас рассматриваемый модуль является предпочтительным способом создания графических приложений на Джаве. Он служит заменой AWT и Swing.</p>
15
<h2>Сферы применения</h2>
15
<h2>Сферы применения</h2>
16
<p>Данная платформа используется при создании приложений с продвинутым GUI. Программное обеспечение, написанное через технологии JavaFX, получается производительным, надежным и достаточно "легким".</p>
16
<p>Данная платформа используется при создании приложений с продвинутым GUI. Программное обеспечение, написанное через технологии JavaFX, получается производительным, надежным и достаточно "легким".</p>
17
<p>Соответствующий инструмент активно используется в:</p>
17
<p>Соответствующий инструмент активно используется в:</p>
18
<ul><li>IDE;</li>
18
<ul><li>IDE;</li>
19
<li>игровом программном обеспечении;</li>
19
<li>игровом программном обеспечении;</li>
20
<li>редакторах и проигрывателях музыки/видео;</li>
20
<li>редакторах и проигрывателях музыки/видео;</li>
21
<li>графических и текстовых редакторах.</li>
21
<li>графических и текстовых редакторах.</li>
22
</ul><p>Это - основное средство написания десктопных приложений. Некоторые мобильные программы, поддерживающие ПК-версии (Telegram, Skype, WhatsApp и им подобные), тоже работают с данной платформой.</p>
22
</ul><p>Это - основное средство написания десктопных приложений. Некоторые мобильные программы, поддерживающие ПК-версии (Telegram, Skype, WhatsApp и им подобные), тоже работают с данной платформой.</p>
23
<p>При помощи JavaFX пользователи программисты смогут преобразовывать коды в нативные образы, после чего активно использовать на мобильных устройствах. Платформа активно поддерживается встроенными системами, в числе которых находится Raspberry Pi.</p>
23
<p>При помощи JavaFX пользователи программисты смогут преобразовывать коды в нативные образы, после чего активно использовать на мобильных устройствах. Платформа активно поддерживается встроенными системами, в числе которых находится Raspberry Pi.</p>
24
<h2>Что может платформа</h2>
24
<h2>Что может платформа</h2>
25
<p>Рассматриваемый инструмент разработки оснащен впечатляющим пакетом средств программирования для GUI. Вот некоторые функции, с которыми пользователям предстоит иметь дело:</p>
25
<p>Рассматриваемый инструмент разработки оснащен впечатляющим пакетом средств программирования для GUI. Вот некоторые функции, с которыми пользователям предстоит иметь дело:</p>
26
<ul><li>шрифты;</li>
26
<ul><li>шрифты;</li>
27
<li>эффекты;</li>
27
<li>эффекты;</li>
28
<li>анимация;</li>
28
<li>анимация;</li>
29
<li>диаграммы;</li>
29
<li>диаграммы;</li>
30
<li>веб-компоненты;</li>
30
<li>веб-компоненты;</li>
31
<li>управление контейнерами;</li>
31
<li>управление контейнерами;</li>
32
<li>оперирование UI;</li>
32
<li>оперирование UI;</li>
33
<li>макеты;</li>
33
<li>макеты;</li>
34
<li>базовые функции - Stage, FXML, Scene и им подобные.</li>
34
<li>базовые функции - Stage, FXML, Scene и им подобные.</li>
35
</ul><p>Проект оснащен богатой документацией, в которой рассказывается обо всех встроенных модулях, классах и иных элементов платформы. Вся она написана на английском языке. Русскоговорящие пользователи тоже могут найти туториалы и документацию на "родном" языке, но ее значительно меньше.</p>
35
</ul><p>Проект оснащен богатой документацией, в которой рассказывается обо всех встроенных модулях, классах и иных элементов платформы. Вся она написана на английском языке. Русскоговорящие пользователи тоже могут найти туториалы и документацию на "родном" языке, но ее значительно меньше.</p>
36
<h2>Основные плюсы проекта</h2>
36
<h2>Основные плюсы проекта</h2>
37
<p>Задумываясь над использованием JavaFX, необходимо помнить о его преимуществах и возможностях. Данный "пакет" активно применяется разработчиками - не только новичками, но и уже более опытными программистами. Он обладает следующими сильными сторонами:</p>
37
<p>Задумываясь над использованием JavaFX, необходимо помнить о его преимуществах и возможностях. Данный "пакет" активно применяется разработчиками - не только новичками, но и уже более опытными программистами. Он обладает следующими сильными сторонами:</p>
38
<ol><li>Дает возможность писать понятные и управляемые на Java коды. Их удобно не только отслеживать, но и обновлять.</li>
38
<ol><li>Дает возможность писать понятные и управляемые на Java коды. Их удобно не только отслеживать, но и обновлять.</li>
39
<li>Не имеет проблем с кроссплатформенностью и дает возможность формирования нативных образов для мобильных устройств.</li>
39
<li>Не имеет проблем с кроссплатформенностью и дает возможность формирования нативных образов для мобильных устройств.</li>
40
<li>Поддерживает множество библиотек, необходимых для создания GUI.</li>
40
<li>Поддерживает множество библиотек, необходимых для создания GUI.</li>
41
<li>Умеет работать с CSS, а также 2D и 3D-графикой без дополнительных модулей и расширений.</li>
41
<li>Умеет работать с CSS, а также 2D и 3D-графикой без дополнительных модулей и расширений.</li>
42
<li>Поддерживает многопоточность.</li>
42
<li>Поддерживает многопоточность.</li>
43
<li>Обеспечивает разработчика многочисленными готовыми инструментами для создания приложений с "сильной" графикой.</li>
43
<li>Обеспечивает разработчика многочисленными готовыми инструментами для создания приложений с "сильной" графикой.</li>
44
<li>Поддерживается Java-сообществом, благодаря чему разработчики могут получить помощь по любому вопросу, связанному с платформой.</li>
44
<li>Поддерживается Java-сообществом, благодаря чему разработчики могут получить помощь по любому вопросу, связанному с платформой.</li>
45
<li>Регулярные обновления и доработки.</li>
45
<li>Регулярные обновления и доработки.</li>
46
<li>Простое и легкое освоение. Разобраться с JavaFX будет в разы проще разработчикам, которые уже знакомы с Java и ему подобными языками программирования.</li>
46
<li>Простое и легкое освоение. Разобраться с JavaFX будет в разы проще разработчикам, которые уже знакомы с Java и ему подобными языками программирования.</li>
47
<li>Приложение JavaFX, преобразованное в нативный исполняемый файл, будет занимать на порядок меньше пространства на устройстве. Такое программное обеспечение запускается за несколько секунд.</li>
47
<li>Приложение JavaFX, преобразованное в нативный исполняемый файл, будет занимать на порядок меньше пространства на устройстве. Такое программное обеспечение запускается за несколько секунд.</li>
48
</ol><p>Изучать инструмент рекомендуется всем программистам, работающим с Java и ему подобным языкам. Это современная и удобная платформа, которая позволяет выпускает легкие, практичные, детализированные проекты с потрясающими графическими интерфейсами. Она пришла на замену Swing.</p>
48
</ol><p>Изучать инструмент рекомендуется всем программистам, работающим с Java и ему подобным языкам. Это современная и удобная платформа, которая позволяет выпускает легкие, практичные, детализированные проекты с потрясающими графическими интерфейсами. Она пришла на замену Swing.</p>
49
<h2>Сравнение со Swing</h2>
49
<h2>Сравнение со Swing</h2>
50
<p>Swing - технология в Джаве, которая используется для работы с графическими интерфейсами. Она плохо развивалась, поэтому на смену ей пришла платформа JavaFX. Эти две технологии имеют как схожие, так и принципиально различные черты:</p>
50
<p>Swing - технология в Джаве, которая используется для работы с графическими интерфейсами. Она плохо развивалась, поэтому на смену ей пришла платформа JavaFX. Эти две технологии имеют как схожие, так и принципиально различные черты:</p>
51
Java FXSwingИсходный код имеет высокую читабельность. Он является чистым.В программном коде приложения могут встречаться устаревшие модули.Применяется для создания программного обеспечения с насыщенным пользовательским интерфейсом.Используется для работы с обычным GUIИмеет встроенную поддержку MVCНе оснащен возможностью работы с MVCПоддерживается дружелюбным сообществом. Регулярно обновляется и совершенствуется.Новые опции в Swing не добавляются.Поддерживает CSS и встроенный API для многопоточности.Не работает с CSS - стили задаются через программный код. Для многопоточности необходимо устанавливать дополнительные API.Оснащен FXML для декларативного создания макетовНе поддерживает декларативную работу с макетамиРаботает с 3D-графикой по умолчаниюДля работы с трехмерной графикой требуется установка дополнительных плагинов.Поддерживает привязку устройств.Не имеет опций привязки устройств.<p>Swing - технология работы с графикой, которая входит в состав JDK. JavaFX отсоединен от соответствующего "пакета", начиная с Java 11. Официальная поддержка рассмотренной платформы компанией Oracle прекратится в 2025 году, но она все равно будет работать. Обновления для нее будут выпускаться свободными разработчиками.</p>
51
Java FXSwingИсходный код имеет высокую читабельность. Он является чистым.В программном коде приложения могут встречаться устаревшие модули.Применяется для создания программного обеспечения с насыщенным пользовательским интерфейсом.Используется для работы с обычным GUIИмеет встроенную поддержку MVCНе оснащен возможностью работы с MVCПоддерживается дружелюбным сообществом. Регулярно обновляется и совершенствуется.Новые опции в Swing не добавляются.Поддерживает CSS и встроенный API для многопоточности.Не работает с CSS - стили задаются через программный код. Для многопоточности необходимо устанавливать дополнительные API.Оснащен FXML для декларативного создания макетовНе поддерживает декларативную работу с макетамиРаботает с 3D-графикой по умолчаниюДля работы с трехмерной графикой требуется установка дополнительных плагинов.Поддерживает привязку устройств.Не имеет опций привязки устройств.<p>Swing - технология работы с графикой, которая входит в состав JDK. JavaFX отсоединен от соответствующего "пакета", начиная с Java 11. Официальная поддержка рассмотренной платформы компанией Oracle прекратится в 2025 году, но она все равно будет работать. Обновления для нее будут выпускаться свободными разработчиками.</p>
52
<h2>Основные библиотеки</h2>
52
<h2>Основные библиотеки</h2>
53
<p>JavaFX для разработки приложений предусматривает обширный пакет библиотек. Основная их масса доступна для скачивания, но в стандартный пакет включены основные фреймворки. К ним относят:</p>
53
<p>JavaFX для разработки приложений предусматривает обширный пакет библиотек. Основная их масса доступна для скачивания, но в стандартный пакет включены основные фреймворки. К ним относят:</p>
54
<ol><li>JacFX. Библиотека для структурирования приложения через слабо связанные многоразовые компоненты JavaFX. Задачи могут быть независимыми от изменений в пользовательском интерфейсе с клиентской программы. Данный прием позволяет избежать проблем, связанных с многопоточностью. Поддерживает асинхронные процессы, коммуникации на основе шин сообщений.</li>
54
<ol><li>JacFX. Библиотека для структурирования приложения через слабо связанные многоразовые компоненты JavaFX. Задачи могут быть независимыми от изменений в пользовательском интерфейсе с клиентской программы. Данный прием позволяет избежать проблем, связанных с многопоточностью. Поддерживает асинхронные процессы, коммуникации на основе шин сообщений.</li>
55
<li>RichTextFX - инструменты создания текстовых и кодовых редакторов. Такие приложения будут уметь выделять синтаксические элементы и применять разные шрифты.</li>
55
<li>RichTextFX - инструменты создания текстовых и кодовых редакторов. Такие приложения будут уметь выделять синтаксические элементы и применять разные шрифты.</li>
56
<li>Ikonli - модуль для создания кастомных иконок.</li>
56
<li>Ikonli - модуль для создания кастомных иконок.</li>
57
<li>MigLayout - библиотека создания и оперирования макетами.</li>
57
<li>MigLayout - библиотека создания и оперирования макетами.</li>
58
</ol><p>Демо приложения JavaFX можно увидеть<a>здесь</a>. Они наглядно демонстрируют работу основных библиотек и модулей платформы.</p>
58
</ol><p>Демо приложения JavaFX можно увидеть<a>здесь</a>. Они наглядно демонстрируют работу основных библиотек и модулей платформы.</p>
59
<p><a>Интересует Java? Добро пожаловать на курс в Otus</a>!</p>
59
<p><a>Интересует Java? Добро пожаловать на курс в Otus</a>!</p>
60
60