stringtranslate.com

JavaFX

JavaFX es una plataforma de software para crear y entregar aplicaciones de escritorio , así como aplicaciones web enriquecidas que pueden ejecutarse en una amplia variedad de dispositivos. JavaFX tiene soporte para computadoras de escritorio y navegadores web [ cita requerida ] en Microsoft Windows , Linux (incluido Raspberry Pi ) y macOS , así como dispositivos móviles que ejecutan iOS y Android , a través de Gluon Mobile.

Con el lanzamiento de JDK 11 en 2018, Oracle hizo que JavaFX fuera parte de OpenJDK bajo el proyecto OpenJFX , [3] con el fin de aumentar el ritmo de su desarrollo. [4]

El software JavaFXPorts de código abierto funciona para iOS (iPhone y iPad) y Android. [5] El software comercial relacionado creado bajo el nombre "Gluon" es compatible con las mismas plataformas móviles con funciones adicionales además de la versión de escritorio. [6] Esto permite que una única base de código fuente permita crear aplicaciones para dispositivos de escritorio, iOS y Android.

Características

JavaFX 1.1 se basó en el concepto de un "perfil común" que se pretende que abarque todos los dispositivos compatibles con JavaFX. Este enfoque permite a los desarrolladores utilizar un modelo de programación común al crear una aplicación destinada tanto a dispositivos de escritorio como móviles y compartir gran parte del código, los recursos gráficos y el contenido entre las versiones de escritorio y móviles. Para abordar la necesidad de ajustar las aplicaciones en una clase específica de dispositivos, la plataforma JavaFX 1.1 incluye API específicas para dispositivos de escritorio o móviles. Por ejemplo, el perfil JavaFX Desktop incluye Swing y efectos visuales avanzados.

Para el usuario final, la función "Arrastrar para instalar" le permite arrastrar un widget de JavaFX (una aplicación que reside en un sitio web) y soltarlo en su escritorio. La aplicación no perderá su estado ni su contexto ni siquiera después de cerrar el navegador. También se puede volver a iniciar una aplicación haciendo clic en un acceso directo que se crea automáticamente en el escritorio del usuario. Este comportamiento está habilitado de forma predeterminada por el mecanismo de subprograma de Java desde la actualización de Java 6u10, y JavaFX lo aprovecha desde la capa Java subyacente. Sun promociona "Arrastrar para instalar" como la apertura de un nuevo modelo de distribución y la posibilidad de que los desarrolladores "se alejen del navegador".

JavaFX 1.x incluía un conjunto de complementos para Adobe Photoshop e Illustrator que permiten integrar gráficos avanzados directamente en aplicaciones JavaFX. Los complementos generan código JavaFX Script que conserva las capas y la estructura de los gráficos. Los desarrolladores pueden luego agregar animación o efectos a los gráficos estáticos importados. También hay una herramienta de conversión de gráficos SVG (también conocida como Media Factory) que permite importar gráficos y obtener una vista previa de los activos después de la conversión al formato JavaFX. [7]

Antes de la versión 2.0 de JavaFX, los desarrolladores usaban un lenguaje declarativo y de tipado estático llamado JavaFX Script para crear aplicaciones JavaFX. Debido a que JavaFX Script se compilaba en código de bytes de Java , los programadores también podían usar código Java . Las aplicaciones JavaFX anteriores a la versión 2.0 podían ejecutarse en cualquier escritorio que pudiera ejecutar Java SE , al igual que ocurre con las versiones actuales. [8]

JavaFX 2.0 y versiones posteriores se implementan como una biblioteca Java y las aplicaciones que utilizan JavaFX se escriben en código Java normal. Oracle descartó el lenguaje de programación, pero su desarrollo continuó durante algunos años en el proyecto Visage y finalmente finalizó en 2013. [9] [10]

Sun Microsystems licenció una tipografía personalizada llamada Amble para su uso en dispositivos con JavaFX. La familia de fuentes fue diseñada por el especialista en diseño de interfaces de usuario para dispositivos móviles Punchcut y está disponible como parte de la versión 1.3 del SDK de JavaFX.

Vista web

WebView , el componente de navegador web integrado, utiliza el motor de navegador WebKit . Admite las funciones habituales de HTML5, como etiquetas de lienzo, multimedia, medidor, progreso, detalles y resumen, así como MathML, SVG, JavaScript y CSS. La compatibilidad con WebAssembly no está habilitada.

JavaFX Móvil

JavaFX Mobile fue la implementación de la plataforma JavaFX para aplicaciones web enriquecidas destinadas a dispositivos móviles . Las aplicaciones JavaFX Mobile 1.x pueden desarrollarse en el mismo lenguaje, JavaFX Script , que las aplicaciones JavaFX 1.x para navegador o escritorio, y utilizando las mismas herramientas: JavaFX SDK y JavaFX Production Suite. Este concepto hace posible compartir código base y activos gráficos para aplicaciones de escritorio y móviles. A través de la integración con Java ME , las aplicaciones JavaFX tienen acceso a capacidades del teléfono subyacente, como el sistema de archivos , la cámara, el GPS , el bluetooth o el acelerómetro .

JavaFX Mobile es una plataforma de aplicaciones independiente creada en Java y puede ejecutarse en múltiples sistemas operativos móviles, incluidos Android , Windows Mobile y sistemas operativos propietarios en tiempo real .

JavaFX Mobile estuvo disponible públicamente como parte del lanzamiento de JavaFX 1.1 anunciado por Sun Microsystems el 12 de febrero de 2009.

Sun tenía previsto habilitar el soporte de JavaFX en los dispositivos trabajando con fabricantes de teléfonos móviles y operadores móviles para precargar el entorno de ejecución de JavaFX Mobile en los teléfonos. JavaFX Mobile funcionando en un dispositivo Android se demostró en JavaOne 2008 y se anunciaron asociaciones seleccionadas (entre ellas, LG Electronics y Sony Ericsson ) en el lanzamiento de JavaFX Mobile en febrero de 2009.

Componentes

La plataforma JavaFX incluye los siguientes componentes:

Historia

Lanzamientos después del aumento de versión

JavaFX ahora es parte del JRE/JDK para Java 8 (lanzado el 18 de marzo de 2014) y tiene la misma numeración, es decir, JavaFX 8. [11]

JavaFX 8 agrega varias características nuevas, entre ellas: [12]

Ejemplo de una escena 3D sencilla utilizando JavaFX

Las características de JavaFX 9 se centraron en extraer algunas API privadas útiles del código JavaFX para hacer que estas API sean públicas:

Oracle anunció su intención de dejar de incluir JavaFX en su compilación de JDK 11 y posteriores. [17] Ya no se incluye con la última versión.

JavaFX 11 se envió por primera vez en septiembre de 2018.

JavaFX 12 se envió por primera vez en marzo de 2019.

JavaFX 13 se envió en septiembre de 2019.

JavaFX 14 se lanzó en marzo de 2020.

JavaFX 15 se lanzó en septiembre de 2020.

JavaFX 16 se lanzó en marzo de 2021.

JavaFX 17 se lanzó en septiembre de 2021. Aspectos destacados:

JavaFX 18 se lanzó en marzo de 2022. Aspectos destacados:

JavaFX 19 se lanzó en septiembre de 2022. Aspectos destacados:

JavaFX 20 se lanzó en marzo de 2023. Aspectos destacados:

Lanzamientos tempranos

JavaFX Script, el componente de scripting de JavaFX, comenzó como un proyecto de Chris Oliver llamado F3. [25]

Sun Microsystems anunció por primera vez JavaFX en la conferencia mundial de desarrolladores Java JavaOne en mayo de 2007.

En mayo de 2008, Sun Microsystems anunció sus planes de ofrecer JavaFX para navegadores y ordenadores de sobremesa en el tercer trimestre de 2008, y JavaFX para dispositivos móviles en el segundo trimestre de 2009. Sun también anunció un acuerdo plurianual con On2 Technologies para incorporar funciones de vídeo completas a la familia de productos JavaFX utilizando el códec de vídeo TrueMotion de la empresa . Desde finales de julio de 2008, los desarrolladores podían descargar una versión preliminar del SDK de JavaFX para Windows y Macintosh, así como el complemento de JavaFX para NetBeans 6.1 .

Las versiones principales desde JavaFX 1.1 tienen un nombre de versión basado en una calle o barrio de San Francisco . Las versiones de actualización normalmente no tienen un nombre de versión. [26]

El 4 de diciembre de 2008, Sun lanzó JavaFX 1.0.2.

JavaFX para el desarrollo móvil finalmente estuvo disponible como parte del lanzamiento de JavaFX 1.1 (llamado Franca [26] ) anunciado oficialmente el 12 de febrero de 2009.

JavaFX 1.2 (llamado Marina [26] ) se lanzó en JavaOne el 2 de junio de 2009. Esta versión introdujo: [27]

JavaFX 1.3 (llamado Soma [26] ) se lanzó el 22 de abril de 2010. Esta versión introdujo: [28]

JavaFX 1.3.1 se lanzó el 21 de agosto de 2010. Esta versión introdujo:

JavaFX 2.0 (llamado Presidio [26] ) se lanzó el 10 de octubre de 2011. Esta versión introdujo:

Se han realizado varias mejoras en las bibliotecas JavaFX para el procesamiento multihilo. Las API de tareas se han actualizado para admitir capacidades de procesamiento multihilo mucho más concisas (es decir, la clase JavaTaskBase ya no es necesaria ya que todas las API están en Java y el requisito de tener una interfaz de devolución de llamada y una clase de implementación de Java ya no es necesario). Además, el gráfico de escenas se ha diseñado para permitir que las escenas se construyan en subprocesos en segundo plano y luego se adjunten a escenas "en vivo" de manera segura para subprocesos .

El 26 de mayo de 2011, Oracle lanzó la versión beta de JavaFX 2.0. La versión beta solo estaba disponible para las versiones de 32 y 64 bits de Microsoft Windows XP, Windows Vista y Windows 7. En ese momento, también estaba disponible una versión Early Access para Mac OS X para los miembros del Programa de socios de JavaFX, mientras que se planeaba la compatibilidad con Linux para una versión futura de JavaFX. JavaFX 2.0 se lanzó solo con compatibilidad con Windows. La compatibilidad con Mac OS X se agregó con JavaFX 2.1. La compatibilidad con Linux se agregó con JavaFX 2.2.

JavaFX 2.0 utiliza un nuevo lenguaje XML declarativo llamado FXML . [29] [30]

El 27 de abril de 2012, Oracle lanzó la versión 2.1 de JavaFX, [31] que incluye las siguientes características principales: [32]

El 14 de agosto de 2012, Oracle lanzó la versión 2.2 de JavaFX, [33] que incluye las siguientes características principales: [34]

JavaFX 2.2 agrega una nueva opción de empaquetado llamada Empaquetado nativo, que permite empaquetar una aplicación como un "paquete nativo". Esto ofrece a los usuarios una forma de instalar y ejecutar una aplicación sin ninguna dependencia externa de un JRE del sistema o un SDK de FX.

A partir de la actualización 6 de Oracle Java SE 7 y JavaFX 2.2, JavaFX está incluido para instalarse con la plataforma Oracle Java SE. [11]

Trabajo futuro

Oracle también anunció en noviembre de 2012 la apertura del código fuente de Decora, un lenguaje DSL Shader para JavaFX que permite generar Shaders para OpenGL y Direct3D . [35]

Oracle escribió en su hoja de ruta de soporte al cliente que las nuevas correcciones de JavaFX seguirán siendo compatibles con Java SE 8 hasta marzo de 2025. [36] Anteriormente, Oracle anunció que están "trabajando con terceros interesados ​​para facilitar la creación y el mantenimiento de JavaFX como un módulo de código abierto distribuible por separado". JavaFX seguirá siendo compatible en el futuro con la empresa Gluon como un módulo descargable además del JDK. [37]

Disponibilidad

A partir de marzo de 2014, JavaFX se implementó en Microsoft Windows , OS X y Linux . [38] Oracle tiene un puerto interno de JavaFX en iOS y Android . [39] [40] El soporte para ARM está disponible a partir de JavaFX 8. [41] El 11 de febrero de 2013, Richard Bair, arquitecto jefe de la Plataforma Java del Cliente en Oracle, anunció que Oracle abriría el código fuente de las implementaciones de iOS y Android de su plataforma JavaFX en los próximos dos meses. [42] [43]

A partir de la versión 8u33 de JDK para ARM, se ha eliminado la compatibilidad con JavaFX Embedded. [44]

Continuará el soporte para arquitecturas basadas en x86. [45]

Se ha creado un puerto comercial de JavaFX para Android e iOS bajo el nombre de "Gluon". [6]

Licencia

Existen varias licencias para los módulos anteriores que se utilizan para componer el entorno de ejecución de JavaFX:

Durante el desarrollo, Sun explicó que implementarían su estrategia para el modelo de licencia de JavaFX para el primer lanzamiento de JavaFX. [49] Después del lanzamiento en 2008, Jeet Kaul, vicepresidente de software de cliente de Sun , explicó que pronto publicarían una especificación para JavaFX y sus formatos de archivo asociados , y que continuarían abriendo el código fuente del entorno de ejecución de JavaFX y desacoplarían este núcleo de las partes propietarias licenciadas por partes externas. [50]

En JavaOne 2011, Oracle Corporation anunció que JavaFX 2.0 se convertiría en código abierto. [29] Desde diciembre de 2011, Oracle comenzó a convertir en código abierto el código JavaFX bajo la GPL + excepción de enlace . [2] [51] [ ¿fuente poco confiable? ]

En diciembre de 2012, Oracle publicó en código abierto nuevas partes del código fuente de JavaFX: [52]

Véase también

Referencias

  1. ^ "Productos » JavaFX" . Consultado el 20 de junio de 2023 .
  2. ^ ab "Proyecto OpenJFX". Oracle Corporation . Archivado desde el original el 5 de diciembre de 2011. Consultado el 7 de diciembre de 2011 .
  3. ^ "Página de inicio para desarrolladores de JavaFX". www.oracle.com . Archivado desde el original el 12 de julio de 2019. Consultado el 14 de junio de 2019 .
  4. ^ Smith, Donald (7 de marzo de 2018). "El futuro de JavaFX y otras actualizaciones de la hoja de ruta del cliente Java". Archivado desde el original el 17 de noviembre de 2018. Consultado el 14 de junio de 2019 .
  5. ^ "JavaFXPorts - Gluon". Gluon . Archivado desde el original el 2018-05-02 . Consultado el 2018-05-01 .
  6. ^ ab "Aplicaciones móviles empresariales rápidas: cree, conecte y administre con Gluon". 2017-12-16. Archivado desde el original el 2017-12-15 . Consultado el 2017-12-16 .
  7. ^ "Instalación de JavaFX Production Suite". Sun Developer Network . Archivado desde el original el 17 de agosto de 2009.
  8. ^ "Descripción general de JavaFX (versión 8)". docs.oracle.com . 2014. Archivado desde el original el 21 de octubre de 2021 . Consultado el 26 de diciembre de 2021 .
  9. ^ "Archivo de código de Google: almacenamiento a largo plazo para el alojamiento de proyectos de código de Google". Code.google.com . Archivado desde el original el 2016-04-01 . Consultado el 2016-08-01 .
  10. ^ "Visage Language". GitHub . Archivado desde el original el 2023-07-07 . Consultado el 2023-07-06 .
  11. ^ ab "Preguntas frecuentes sobre JavaFX". Oracle.com . Archivado desde el original el 2018-10-29 . Consultado el 2019-09-24 .
  12. ^ "Hoja de ruta de JavaFX". Oracle Corporation . Archivado desde el original el 1 de diciembre de 2012. Consultado el 24 de noviembre de 2012 .
  13. ^ Yang, Chien. "Características 3D planeadas para la versión 8". Oracle Corporation . Archivado desde el original el 7 de diciembre de 2013. Consultado el 24 de noviembre de 2012 .
  14. ^ "Funciones 3D planeadas para la versión 8". Oracle Corporation . Archivado desde el original el 2013-05-02 . Consultado el 2012-11-24 .
  15. ^ "Cuadro de diálogo (JavaFX 9)". Archivado desde el original el 5 de enero de 2015. Consultado el 5 de enero de 2015 .
  16. ^ Giles, Jonathan (14 de enero de 2015). "JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization" (Preparación de controles de interfaz de usuario de JavaFX y API CSS para la modularización). Oracle Corporation . Archivado desde el original el 10 de marzo de 2016. Consultado el 17 de enero de 2016 .
  17. ^ "Gluon y JavaFX". Archivado desde el original el 29 de abril de 2019. Consultado el 29 de octubre de 2018 .
  18. ^ ab "javafxports/openjdk-jfx". GitHub . Archivado desde el original el 2020-08-03 . Consultado el 2020-07-20 .
  19. ^ "JavaFX". Gluon . Archivado desde el original el 28 de septiembre de 2022 . Consultado el 5 de octubre de 2022 .
  20. ^ "Notas de la versión de OpenJFX 12". Gluon . Archivado desde el original el 2023-07-07 . Consultado el 2023-07-06 .
  21. ^ "Notas de la versión de OpenJFX 13". Gluon . Archivado desde el original el 2023-07-07 . Consultado el 2023-07-06 .
  22. ^ "Notas de la versión de OpenJFX 14". Gluon . Archivado desde el original el 2023-07-07 . Consultado el 2023-07-06 .
  23. ^ "Notas de la versión de OpenJFX 15". Gluon . Archivado desde el original el 2023-07-07 . Consultado el 2023-07-06 .
  24. ^ JavaFX 20 y posteriores, archivado desde el original el 20 de junio de 2023 , consultado el 20 de junio de 2023
  25. ^ "F3 (Weblog de Chris Oliver)". 6 de enero de 2012. Archivado desde el original el 6 de enero de 2012. Consultado el 20 de agosto de 2016 .{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  26. ^ abcde «Repositorios y versiones». 29 de junio de 2013. Archivado desde el original el 19 de octubre de 2013. Consultado el 18 de octubre de 2013 .
  27. ^ Marinacci, Joshua (9 de junio de 2009). "Las 5 características más importantes de JavaFX 1.2". Archivado desde el original el 13 de junio de 2009. Consultado el 12 de junio de 2009 .
  28. ^ "Lanzamiento de JavaFX 1.3, mejora la experiencia de usuario". 22 de abril de 2010. Archivado desde el original el 30 de abril de 2011. Consultado el 25 de abril de 2010 .
  29. ^ ab Meyer, David (6 de octubre de 2011). "JavaFX 2.0 llega y se dirige al código abierto". ZDNet . Archivado desde el original el 25 de noviembre de 2011. Consultado el 9 de octubre de 2011 .
  30. ^ Brown, Greg (15 de agosto de 2011). "Introducción a FXML" (PDF) . Archivado (PDF) desde el original el 31 de enero de 2012. Consultado el 9 de octubre de 2011 .
  31. ^ "Lanzamiento de JDK 7u4 y JavaFX 2.1, ahora también incluye Mac OS X | Across the Universe". Terrencebarr.wordpress.com . 2012-04-27. Archivado desde el original el 2016-10-19 . Consultado el 2016-08-01 .
  32. ^ "Notas de la versión de JavaFX 2.1". Oracle Corporation . Archivado desde el original el 8 de mayo de 2012. Consultado el 5 de mayo de 2012 .
  33. ^ "Novedades de JavaFX 2.2 (The JavaFX Blog)". Blogs.oracle.com . Archivado desde el original el 2016-08-21 . Consultado el 2016-08-01 .
  34. ^ "Notas de la versión de JavaFX 2.2". Oracle Corporation . Archivado desde el original el 21 de agosto de 2012. Consultado el 2 de octubre de 2012 .
  35. ^ Bair, Richard (6 de noviembre de 2012). "Código abierto: compilador decora". Oracle Corporation . Archivado desde el original el 7 de diciembre de 2013. Consultado el 24 de noviembre de 2012 .
  36. ^ "Hoja de ruta de soporte de Oracle Java SE". Oracle Technology Network . Oracle. 2020-05-13. Archivado desde el original el 2019-12-31 . Consultado el 2020-05-31 .
  37. ^ "JavaFX". Archivado desde el original el 24 de mayo de 2019. Consultado el 26 de mayo de 2019 .
  38. ^ "Descarga de disponibilidad general". Oracle Corporation . Archivado desde el original el 26 de diciembre de 2012. Consultado el 5 de enero de 2013 .
  39. ^ Bair, Richard (3 de diciembre de 2012). "Porting JavaFX". Mail.openjfx.dev.java.net . Archivado desde el original el 20 de junio de 2014. Consultado el 5 de enero de 2013 .
  40. ^ Brandalik, Tomas (7 de diciembre de 2012). «Encuesta: JavaFX en tabletas y dispositivos móviles». Archivado desde el original el 20 de junio de 2014. Consultado el 5 de enero de 2013 .
  41. ^ "1 Descripción general de JavaFX (versión 8)". Docs.oracle.com . Archivado desde el original el 23 de junio de 2016 . Consultado el 1 de agosto de 2016 .
  42. ^ Bair, Richard (16 de febrero de 2013). «Actualización de código abierto de febrero». Oracle Corporation . Archivado desde el original el 14 de febrero de 2013. Consultado el 13 de febrero de 2013 .
  43. ^ "Oracle anuncia JavaFX de código abierto para iOS y Android". Infoq.com. 13 de febrero de 2013. Archivado desde el original el 17 de febrero de 2013. Consultado el 16 de febrero de 2013 .
  44. ^ "Notas de la versión de JDK para ARM 8u33". Oracle Corporation . 16 de febrero de 2013. Archivado desde el original el 14 de marzo de 2015. Consultado el 9 de marzo de 2015 .
  45. ^ Tema, Dalibor (27 de enero de 2013). "Lista de correo de Raspberry Pi: ¿Dónde está JavaFX en la versión reciente de Java 8u33 para ARM?". Archivado desde el original el 9 de marzo de 2015. Consultado el 9 de marzo de 2015 .
  46. ^ "Proyecto compilador OpenJFX". Openjfx-compiler.dev.java.net . Consultado el 7 de junio de 2008 .[ enlace muerto permanente ]
  47. ^ "Inicio del proyecto Scene Graph". Scenegraph.dev.java.net . Archivado desde el original el 2012-03-06 . Consultado el 2008-06-07 .
  48. ^ "Descargas de JavaFX". Openjfx.dev.java.net . Consultado el 7 de junio de 2008 .[ enlace muerto permanente ]
  49. ^ "¿Se lanzará la tecnología JavaFX en código abierto?". Archivado desde el original el 2008-06-12 . Consultado el 2008-06-07 .
  50. ^ Kaul, Jeet (16 de diciembre de 2008). «JavaFX: el camino por delante». Archivado desde el original el 17 de diciembre de 2008. Consultado el 3 de enero de 2009 .
  51. ^ Bair, Richard (2 de diciembre de 2011). "Solicitud de parches". Oracle Corporation . Archivado desde el original el 31 de enero de 2013. Consultado el 7 de diciembre de 2011 .
  52. ^ Safrata, Pavel (18 de diciembre de 2012). "Más de JavaFX de código abierto". Oracle Corporation . Archivado desde el original el 29 de diciembre de 2012. Consultado el 5 de enero de 2013 .

Bibliografía

Enlaces externos