Saltar al contenido

JavaFX: ¿realmente se puede implementar en un navegador?

Solución:

Actualización de la hoja de ruta del cliente Java de marzo de 2018

Animo a los lectores interesados ​​en esta pregunta a que revisen el siguiente documento técnico de Oracle:

  • Actualización de la hoja de ruta del cliente Java

El documento anterior describe la posición oficial de Oracle sobre tecnologías relacionadas (JavaFX / Swing / AWT / Applets / WebStart), las fechas hasta las cuales tiene la intención de admitir esas tecnologías y cuál de esas tecnologías tiene la intención de hacer la transición a proyectos de desarrollo de código abierto separados del JDK y JRE.

Actualización para Java 9, octubre de 2017

Según las notas de la versión de Java 9:

La funcionalidad Java Applet y WebStart, incluida la API de Applet, el complemento de Java, el visor de applet de Java, JNLP y Java Web Start, incluida la herramienta javaws, están obsoletas en JDK 9 y se eliminarán en una versión futura.

Entonces, para Java 9+, la implementación de JavaFX en un navegador usando un complemento de Java solo será posible usando tecnología obsoleta. Oracle señala en otra parte de las notas de la versión de Java 9:

Desactiva el complemento de Java y las tecnologías de subprograma asociadas en las compilaciones JDK 9 de Oracle. Si bien aún están disponibles en JDK 9, se considerará la posibilidad de eliminar estas tecnologías de Oracle JDK y JRE en una versión futura. Los applets y las aplicaciones JavaFX incrustadas en una página web requieren el complemento de Java para ejecutarse. Considere la posibilidad de reescribir este tipo de aplicaciones como Java Web Start o aplicaciones autónomas.

Nota: Java Web Start no es realmente una alternativa, ya que también está en desuso (de todos modos, es diferente de una aplicación incrustada y renderizada dentro de una página del navegador). También tenga en cuenta para aquellos que deseen utilizar Web Start, aunque ahora se ha eliminado de Oracle JDK 11+, está disponible como código abierto, la información sobre esto está en OpenWebStart.

Como alternativa que ofrece una funcionalidad similar, considere algo como jpro, que implementa aplicaciones JavaFX en un navegador sin un complemento de Java (jpro está actualmente solo en beta cerrada, por lo que no es una solución viable a partir de octubre de 2017, pero tal vez algún día en el futuro…).

Por ahora, recomendaría que la mejor manera de implementar aplicaciones JavaFX sea como aplicaciones autónomas, ejecutándose fuera de un navegador.


Respuesta anterior para Java 7 y 8

JavaFx: ¿realmente se puede implementar en un navegador?

Sí, las aplicaciones JavaFX se pueden implementar para que se ejecuten dentro de una página web html alojada en un navegador web.

La tecnología que permite que esto ocurra es Java Plugin. Este complemento es actualmente una solución de complemento de navegador basada en NPAPI. El complemento de Java se envía con el entorno estándar de tiempo de ejecución de Oracle Java 7.

No todos los navegadores son compatibles, solo los que se enumeran en la página Configuraciones compatibles con JavaFX.

¿Qué tan fácil es implementar a través de un navegador web?

La forma más sencilla de implementar un proyecto JavaFX en un navegador web es:

  1. Cree un nuevo proyecto JavaFX en NetBeans.
  2. Desarrolle una sencilla aplicación HelloWorld.
  3. Siga las instrucciones para implementar su primera aplicación JavaFX.

Esto no es difícil (en mi opinión).

Alternativamente, siga las instrucciones en la referencia detallada para Implementar aplicaciones JavaFX (o use herramientas de terceros). Para muchos proyectos, usar una herramienta que no sea NetBeans IDE para realizar el empaquetado es un mejor enfoque. Sin embargo, generalmente es más fácil dejar que NetBeans IDE maneje las tareas de empaquetado de implementación por usted.


Lo que sigue no está relacionado con la respuesta a la pregunta original, pero proporciona algunas opiniones e información solicitada en los comentarios sobre esta respuesta.

Algún consejo

Existen dificultades para implementar Java en un navegador. Le animo a que haga su propia investigación en Google sobre el tema.

En mi opinión, según el modelo de implementación actual de JavaFX 2.x, para la mayoría de los tipos de aplicaciones que requieren un navegador como contenedor de tiempo de ejecución principal, usar JavaFX no es una solución adecuada.

Examine los requisitos de implementación y tiempo de ejecución de su aplicación. Según sus requisitos y el conocimiento del modelo de ejecución basado en navegador JavaFX, decida si una implementación basada en navegador que utiliza tecnología JavaFX es el mecanismo correcto para su aplicación.

Un par de posibles dificultades para las aplicaciones JavaFX integradas en el navegador

Algunos navegadores importantes (por ejemplo, Internet Explorer 10, iOS Safari y pronto Desktop Chrome) no permiten la ejecución de complementos utilizando el NPAPI utilizado actualmente por el complemento del navegador Java => es posible que algunos de sus usuarios de destino no puedan usar su aplicación.

Con una aplicación integrada en el navegador, no tiene control completo sobre el tiempo de ejecución en el que se ejecuta su aplicación (navegador + tiempo de ejecución de Java + interfaz de complemento) => una aplicación que estaba funcionando cuando se instaló por primera vez puede dejar de funcionar como se esperaba después de una actualización de estos componentes de tiempo de ejecución.

Alternativas de implementación

Si un modelo de implementación basado en navegador no es apropiado para su aplicación, existen otras formas de implementar aplicaciones JavaFX (por ejemplo, WebStart, jar independientes y aplicaciones autónomas).

JavaFX: ¿realmente se puede implementar en un navegador?

No, no más.

La respuesta usó para ser sí, como se indica en esta respuesta, aunque incluso en 2013, cuando se escribió eso, la escritura estaba en la pared. Sin embargo, aquí en 2016 la respuesta es no, no puede. Los navegadores modernos esencialmente ya no admiten NPAPI (Firefox lo hace para Java, pero solo hasta fin de año), y se requiere NPAPI para el complemento de Java.

A partir de 2016, puede usar jpro sin ningún complemento de navegador. E incluso funciona en móviles.

Edición 1: el proyecto es gratuito para proyectos no comerciales o de código abierto. Un “hola mundo” se puede encontrar aquí

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *