Подтвердить что ты не робот

JavaFX - может ли он действительно быть развернут в браузере?

Я провел некоторое исследование по JavaFX за последний год и даже создал с ним некоторые базовые приложения для настольных компьютеров.

Он описывается как используемый для создания RIA (Rich Internet Application).

http://en.wikipedia.org/wiki/Javafx

Но может ли он действительно быть развернут веб-браузером? Я только развернул его через исполняемый файл JAR.

Насколько легко развертывается через веб-браузер? Это работает? Кто-нибудь имеет опыт с этим?

http://docs.oracle.com/javafx/2/deployment/deployment_toolkit.htm

4b9b3361

Ответ 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 в веб-браузере:

  1. Создайте новый проект JavaFX в NetBeans.
  2. Разработка простого приложения HelloWorld.
  3. Следуйте инструкциям по развертыванию первого приложения 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, автономные банки и автономные приложения).

Ответ 2

JavaFX - может ли он действительно быть развернут в браузере?

Нет, не больше.

Ответ используется как да, как указано в этом ответе, хотя даже в 2013 году, когда это было написано, письмо было написано на стены. Однако здесь, в 2016 году, ответ отрицательный, он не может. Современные браузеры по существу не поддерживают NPAPI больше (Firefox делает для Java, но только до конца года), а NPAPI требуется для плагина Java.

Ответ 3

С 2016 года вы можете использовать jpro без какого-либо браузера. И он даже работает на мобильных телефонах.

Редактировать 1: Проект является бесплатным для некоммерческих или проектов с открытым исходным кодом. А "привет мир" можно найти здесь

Ответ 4

Я нашел решение случайно здесь. чего не было в моем веб-проекте.

Я должен добавить это в файл web.xml:

 <mime-mapping>
    <extension>jnlp</extension>
    <mime-type>application/x-java-jnlp-file</mime-type>
</mime-mapping>