Ответ 1
Обновление маршрутной карты Java-клиента Март 2018 года
Я призываю читателей, интересующихся этим вопросом, рассмотреть следующий документ Oracle:
В вышеприведенном документе описывается официальная позиция Oracle по смежным технологиям (JavaFX/Swing/AWT/Applets/WebStart), даты, до которых она намерена поддерживать эти технологии, и какие из этих технологий она намерена перейти на проекты разработки с открытым исходным кодом, отдельно от JDK и JRE.
Обновление для Java 9, октябрь 2017 г.
Согласно заметкам о выпуске Java 9:
Функциональность Java Applet и WebStart, включая API Applet, подключаемый модуль Java, Java Applet Viewer, JNLP и Java Web Start, включая инструмент javaws, устарели в JDK 9 и будут удалены в будущей версии.
Таким образом, для Java 9+ развертывание JavaFX в браузере с использованием плагина Java возможно только с использованием устаревшей технологии. Oracle отмечает в другой части заметки о выпуске Java 9:
Устаревает Java Plug-in и связанные с ним технологии апплетов в сборках Oracle JDK 9. Хотя в JDK 9 все еще доступны, эти технологии будут рассмотрены для удаления из Oracle JDK и JRE в будущей версии. Приложения Applets и JavaFX, встроенные в веб-страницу, требуют запуска Java-модуля. Рассмотрите возможность перезаписи таких типов приложений как Java Web Start или автономных приложений.
Примечание. Java Web Start не является альтернативой, так как это также устарело (в любом случае оно отличается от приложения, встроенного и отображаемого на странице браузера).
В качестве альтернативы, предлагающей аналогичную функциональность, рассмотрите что-то вроде jpro, которое развертывает приложения JavaFX в браузере без плагина Java (jpro в настоящее время только в закрытой бета-версии, поэтому он не является жизнеспособным решением по состоянию на октябрь 2017 года, но, возможно, когда-нибудь в будущее...).
На данный момент я бы рекомендовал, чтобы лучший способ развертывания приложений JavaFX был автономным, работающим за пределами браузера.
Предыдущий ответ для Java 7 и 8
JavaFx - может ли он действительно быть развернут в браузере?
Да, приложения JavaFX могут быть развернуты, чтобы они запускались внутри веб-страницы, размещенной на веб-браузере.
Технология, позволяющая это реализовать, - это Java-плагин. Этот плагин в настоящее время является плагином для браузера на основе NPAPI. Плагин Java поставляется с стандартной средой исполнения Java Java Runtime.
Поддерживаются не все браузеры, только те, которые указаны на странице поддерживаемых конфигураций JavaFX.
Насколько легко развертываться через веб-браузер?
Самый простой способ развернуть проект JavaFX в веб-браузере:
- Создайте новый проект JavaFX в NetBeans.
- Разработка простого приложения HelloWorld.
- Следуйте инструкциям по развертыванию первого приложения JavaFX.
Это не сложно (на мой взгляд).
Кроме того, следуйте инструкциям по подробной ссылке для развертывания приложений JavaFX (или используйте сторонние инструменты). Для многих проектов использование другого инструмента, отличного от IDE NetBeans для работы с упаковкой, является лучшим подходом. Однако, как правило, проще позволить среде IDE NetBeans обрабатывать задачи развертывания развертывания для вас.
Дальнейшее не связано с ответом на исходный вопрос, но дает некоторые мнения и информацию, запрошенные в комментариях к этому ответу.
Некоторые советы
Есть проблемы с развертыванием Java в браузере. Я рекомендую вам провести собственное исследование Google по этому вопросу.
На мой взгляд, на основе текущей модели развертывания JavaFX 2.x для большинства типов приложений, для которых браузер нужен как основной контейнер времени выполнения, использование JavaFX не является подходящим решением.
Изучите требования к развертыванию и времени выполнения для вашего приложения. Исходя из ваших требований и знаний о модели исполнения на основе браузера JavaFX, решите, является ли развертывание на основе браузера с использованием технологии JavaFX правильным механизмом для вашего приложения.
Несколько потенциальных проблем для встроенных приложений JavaFX в браузере
Некоторые важные браузеры (например, Internet Explorer 10, iOS Safari и вскоре Desktop Chrome) не позволяют выполнять плагины с использованием NPAPI, который в настоящее время используется плагином браузера Java => некоторые из ваших целевых пользователей могут не использовать ваше приложение.
С встроенным приложением для браузера вы не имеете полного контроля над временем выполнения, на котором выполняется ваше приложение (браузер + интерфейс Java + интерфейс плагина) => приложение, работающее при первой установке, может перестать функционировать, как ожидается после обновления к этим компоненты времени выполнения.
Альтернативы развертывания
Если модель развертывания на основе браузера не подходит для вашего приложения, существуют другие способы развертывания приложений JavaFX (например, WebStart, автономные банки и автономные приложения).