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 es compatible con computadoras de escritorio y navegadores web [ cita requerida ] en Microsoft Windows , Linux (incluida Raspberry Pi ) y macOS , así como dispositivos móviles con iOS y Android , a través de Gluon Mobile.

Con el lanzamiento de JDK 11 en 2018, Oracle hizo que JavaFX formara parte de OpenJDK bajo el proyecto OpenJFX , [3] para acelerar el ritmo de su desarrollo. [4]

JavaFXPorts de código abierto funciona para iOS (iPhone y iPad) y Android. [5] El software comercial relacionado creado con el nombre "Gluon" admite las mismas plataformas móviles con funciones adicionales además de escritorio. [6] Esto permite una única base de código fuente para 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 pretende abarcar todos los dispositivos compatibles con JavaFX. Este enfoque permite a los desarrolladores utilizar un modelo de programación común mientras crean una aplicación destinada tanto a dispositivos móviles como de escritorio y compartir gran parte del código, los activos gráficos y el contenido entre las versiones de escritorio y móviles. Para abordar la necesidad de ajustar aplicaciones en una clase específica de dispositivos, la plataforma JavaFX 1.1 incluye API específicas para escritorio o dispositivos 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 JavaFX (una aplicación que reside en un sitio web) y soltarlo en su escritorio. La aplicación no perderá su estado o contexto incluso después de cerrar el navegador. También se puede reiniciar 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 inmediata por el mecanismo del subprograma de Java desde la actualización de Java 6u10, y JavaFX lo aprovecha desde la capa subyacente de Java. Sun promociona "Arrastrar para instalar" como la apertura de un nuevo modelo de distribución y que permite a los desarrolladores "separarse del navegador".

JavaFX 1.x incluía un conjunto de complementos para Adobe Photoshop e Illustrator que permiten integrar gráficos avanzados directamente en las aplicaciones JavaFX. Los complementos generan código JavaFX Script que conserva las capas y la estructura de los gráficos. Luego, los desarrolladores pueden agregar animaciones 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 recursos después de la conversión al formato JavaFX.

Antes de la versión 2.0 de JavaFX, los desarrolladores utilizaban un lenguaje declarativo de tipo estático llamado JavaFX Script para crear aplicaciones JavaFX. Debido a que JavaFX Script se compiló en código de bytes de Java , los programadores también podrían usar código Java en su lugar. Las aplicaciones JavaFX anteriores a 2.0 podían ejecutarse en cualquier escritorio que pudiera ejecutar Java SE , tal como ocurre con las versiones actuales. [7]

JavaFX 2.0 y posteriores se implementan como una biblioteca Java y las aplicaciones que utilizan JavaFX están escritas en código Java normal. Oracle eliminó el lenguaje de secuencias de comandos; sin embargo, su desarrollo continuó durante algunos años en el proyecto Visage y finalmente finalizó en 2013. [8] [9]

Sun Microsystems obtuvo la licencia de un tipo de letra personalizado llamado Amble para su uso en dispositivos con tecnología JavaFX. La familia de fuentes fue diseñada por el especialista en diseño de interfaces de usuario móviles Punchcut y está disponible como parte de la versión JavaFX SDK 1.3.

Vista web

WebView, el componente integrado del navegador, utiliza el motor del navegador WebKit y admite las funciones habituales de HTML5, como lienzo, medios, medidor, progreso, detalles y etiquetas de 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 dirigidas a dispositivos móviles . Las aplicaciones JavaFX Mobile 1.x se pueden desarrollar 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 móviles y de escritorio. 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, una plataforma de aplicaciones independiente construida en Java, es capaz de 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 planeó habilitar el soporte inmediato de JavaFX en los dispositivos trabajando con fabricantes de teléfonos y operadores móviles para precargar el tiempo de ejecución de JavaFX Mobile en los teléfonos. JavaFX Mobile ejecutándose en Android se demostró en JavaOne 2008 y se anunciaron asociaciones seleccionadas (incluidas LG Electronics , 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. [10]

JavaFX 8 agrega varias características nuevas, que incluyen: [11]

Ejemplo de escena 3D sencilla usando JavaFX.

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

Oracle anunció su intención de dejar de incluir JavaFX en su versión JDK 11 y posteriores. [16] Ya no viene incluido 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 secuencias de comandos de JavaFX, comenzó como un proyecto de Chris Oliver llamado F3. [24]

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

En mayo de 2008, Sun Microsystems anunció planes para ofrecer JavaFX para navegadores y computadoras de escritorio en el tercer trimestre de 2008, y JavaFX para dispositivos móviles en el segundo trimestre de 2009. Sun también anunció un acuerdo de varios años con On2 Technologies para brindar capacidades de video integrales. a la familia de productos JavaFX utilizando el códec TrueMotion Video de la empresa . Desde finales de julio de 2008, los desarrolladores pueden descargar una vista previa del SDK de JavaFX para Windows y Macintosh, así como el complemento JavaFX para NetBeans 6.1 .

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

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

JavaFX para desarrollo móvil finalmente estuvo disponible como parte de la versión JavaFX 1.1 (llamada Franca [25] ) anunciada oficialmente el 12 de febrero de 2009.

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

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

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

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

Se han realizado varias mejoras en las bibliotecas JavaFX para subprocesos múltiples. Las API de tareas se han actualizado para admitir capacidades de subprocesamiento 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 son necesarios). Además, el gráfico de escena ha sido diseñado para permitir que las escenas se construyan en subprocesos de fondo y luego se adjunten a escenas "en vivo" de manera segura para subprocesos .

El 26 de mayo de 2011, Oracle lanzó JavaFX 2.0 Beta. La versión beta solo estuvo disponible para las versiones de 32 y 64 bits de Microsoft Windows XP, Windows Vista y Windows 7. También estaba disponible una versión de acceso anticipado para Mac OS X para los miembros del JavaFX Partner Program en ese momento, mientras que el soporte para Linux estaba disponible. planeado para una versión futura de JavaFX. JavaFX 2.0 se lanzó únicamente con soporte para Windows. La compatibilidad con Mac OS X se agregó con JavaFX 2.1. Se agregó soporte para Linux con JavaFX 2.2.

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

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

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

JavaFX 2.2 agrega una nueva opción de empaquetado llamada Native Packaging, que permite empaquetar una aplicación como un "paquete nativo". Esto brinda a los usuarios una forma de instalar y ejecutar una aplicación sin dependencias externas en un sistema JRE o FX SDK.

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

Trabajo futuro

Oracle también anunció en noviembre de 2012 el código abierto de Decora, un lenguaje DSL Shader para JavaFX que permite generar Shaders para OpenGL y Direct3D . [34]

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. [35] 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 módulo descargable además del JDK. [36]

Disponibilidad

En marzo de 2014, JavaFX se implementa en Microsoft Windows , OS X y Linux . [37] Oracle tiene un puerto interno de JavaFX en iOS y Android . [38] [39] El soporte para ARM está disponible a partir de JavaFX 8 [40] El 11 de febrero de 2013, Richard Bair, arquitecto jefe de Client Java Platform en Oracle, anunció que Oracle abriría las implementaciones de iOS y Android de su plataforma JavaFX en los próximos dos meses. [41] [42]

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

El soporte continuará para arquitecturas basadas en x86. [44]

Se ha creado una versión comercial de JavaFX para Android e iOS con el nombre "Gluon". [6]

Licencia

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

Durante el desarrollo, Sun explicó que implementarán su estrategia para el modelo de licencia JavaFX para la primera versión de JavaFX. [48] ​​Después del lanzamiento en 2008, Jeet Kaul, vicepresidente de software cliente de Sun, explicó que pronto publicarán una especificación para JavaFX y sus formatos de archivo asociados , y continuarán abriendo el tiempo de ejecución de JavaFX y desacoplando este núcleo. de las piezas patentadas con licencia de terceros. [49]

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

En diciembre de 2012, Oracle abrió nuevas partes del código fuente de JavaFX: [51]

Ver también

Referencias

  1. ^ "Productos» JavaFX " . Consultado el 20 de junio de 2023 .
  2. ^ ab "Proyecto OpenJFX". Corporación Oráculo . Archivado desde el original el 5 de diciembre de 2011 . Consultado el 7 de diciembre de 2011 .
  3. ^ "Inicio del desarrollador 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 - Gluón". Gluón . Archivado desde el original el 2018-05-02 . Consultado el 1 de mayo de 2018 .
  6. ^ ab "Aplicaciones móviles empresariales rápidas: cree, conecte y administre con Gluon". 2017-12-16. Archivado desde el original el 15 de diciembre de 2017 . Consultado el 16 de diciembre de 2017 .
  7. ^ "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 .
  8. ^ "Google Code Archive: almacenamiento a largo plazo para el alojamiento de proyectos de Google Code". Código.google.com . Archivado desde el original el 1 de abril de 2016 . Consultado el 1 de agosto de 2016 .
  9. ^ "Lenguaje del rostro". GitHub . Archivado desde el original el 7 de julio de 2023 . Consultado el 6 de julio de 2023 .
  10. ^ ab "Preguntas frecuentes sobre JavaFX". Oracle.com . Archivado desde el original el 29 de octubre de 2018 . Consultado el 24 de septiembre de 2019 .
  11. ^ "Hoja de ruta de JavaFX". Corporación Oráculo . Archivado desde el original el 1 de diciembre de 2012 . Consultado el 24 de noviembre de 2012 .
  12. ^ Yang, Chien. "Funciones 3D planificadas para la versión 8". Corporación Oráculo . Archivado desde el original el 7 de diciembre de 2013 . Consultado el 24 de noviembre de 2012 .
  13. ^ "Funciones 3D planificadas para la versión 8". Corporación Oráculo . Archivado desde el original el 2 de mayo de 2013 . Consultado el 24 de noviembre de 2012 .
  14. ^ "Diálogo (JavaFX 9)". Archivado desde el original el 5 de enero de 2015 . Consultado el 5 de enero de 2015 .
  15. ^ Giles, Jonathan (14 de enero de 2015). "JEP 253: Prepare los controles de interfaz de usuario de JavaFX y las API de CSS para la modularización". Corporación Oráculo . Archivado desde el original el 10 de marzo de 2016 . Consultado el 17 de enero de 2016 .
  16. ^ "Gluon y JavaFX". Archivado desde el original el 29 de abril de 2019 . Consultado el 29 de octubre de 2018 .
  17. ^ ab "javafxports/openjdk-jfx". GitHub . Archivado desde el original el 3 de agosto de 2020 . Consultado el 20 de julio de 2020 .
  18. ^ "Java FX". Gluón . Archivado desde el original el 28 de septiembre de 2022 . Consultado el 5 de octubre de 2022 .
  19. ^ "Notas de la versión de OpenJFX 12". Gluón . Archivado desde el original el 7 de julio de 2023 . Consultado el 6 de julio de 2023 .
  20. ^ "Notas de la versión de OpenJFX 13". Gluón . Archivado desde el original el 7 de julio de 2023 . Consultado el 6 de julio de 2023 .
  21. ^ "Notas de la versión de OpenJFX 14". Gluón . Archivado desde el original el 7 de julio de 2023 . Consultado el 6 de julio de 2023 .
  22. ^ "Notas de la versión de OpenJFX 15". Gluón . Archivado desde el original el 7 de julio de 2023 . Consultado el 6 de julio de 2023 .
  23. ^ JavaFX 20 y más allá, archivado desde el original el 20 de junio de 2023 , consultado el 20 de junio de 2023
  24. ^ "F3 (blog de Chris Oliver)". 2012-01-06. Archivado desde el original el 6 de enero de 2012 . Consultado el 20 de agosto de 2016 .{{cite web}}: Mantenimiento CS1: bot: estado de la URL original desconocido ( enlace )
  25. ^ 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 .
  26. ^ Marinacci, Joshua (9 de junio de 2009). "Las 5 funciones más importantes de JavaFX 1.2". Archivado desde el original el 13 de junio de 2009 . Consultado el 12 de junio de 2009 .
  27. ^ "Lanzamiento de JavaFX 1.3, mejora la experiencia del usuario". 22 de abril de 2010. Archivado desde el original el 30 de abril de 2011 . Consultado el 25 de abril de 2010 .
  28. ^ ab Meyer, David (6 de octubre de 2011). "Llega JavaFX 2.0 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 .
  29. ^ Marrón, Greg (15 de agosto de 2011). "Presentación de FXML" (PDF) . Archivado (PDF) desde el original el 31 de enero de 2012 . Consultado el 9 de octubre de 2011 .
  30. ^ "Lanzados JDK 7u4 y JavaFX 2.1, que ahora también incluyen Mac OS X | Across the Universe". Terrencebarr.wordpress.com . 2012-04-27. Archivado desde el original el 19 de octubre de 2016 . Consultado el 1 de agosto de 2016 .
  31. ^ "Notas de la versión de JavaFX 2.1". Corporación Oráculo . Archivado desde el original el 8 de mayo de 2012 . Consultado el 5 de mayo de 2012 .
  32. ^ "Novedades de JavaFX 2.2 (El blog de JavaFX)". Blogs.oracle.com . Archivado desde el original el 21 de agosto de 2016 . Consultado el 1 de agosto de 2016 .
  33. ^ "Notas de la versión de JavaFX 2.2". Corporación Oráculo . Archivado desde el original el 21 de agosto de 2012 . Consultado el 2 de octubre de 2012 .
  34. ^ Bair, Richard (6 de noviembre de 2012). "Abastecimiento abierto: compilador decora". Corporación Oráculo . Archivado desde el original el 7 de diciembre de 2013 . Consultado el 24 de noviembre de 2012 .
  35. ^ "Hoja de ruta de soporte de Oracle Java SE". Red de tecnología Oracle . Oráculo. 2020-05-13. Archivado desde el original el 31 de diciembre de 2019 . Consultado el 31 de mayo de 2020 .
  36. ^ "Java FX". Archivado desde el original el 24 de mayo de 2019 . Consultado el 26 de mayo de 2019 .
  37. ^ "Descarga de disponibilidad general". Corporación Oráculo . Archivado desde el original el 26 de diciembre de 2012 . Consultado el 5 de enero de 2013 .
  38. ^ Bair, Richard (3 de diciembre de 2012). "Migración de JavaFX". Correo.openjfx.dev.java.net . Archivado desde el original el 20 de junio de 2014 . Consultado el 5 de enero de 2013 .
  39. ^ 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 .
  40. ^ "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 .
  41. ^ Bair, Richard (16 de febrero de 2013). "Actualización de código abierto de febrero". Corporación Oráculo . Archivado desde el original el 14 de febrero de 2013 . Consultado el 13 de febrero de 2013 .
  42. ^ "Oracle anuncia JavaFX de código abierto para iOS y Android". Infoq.com. 2013-02-13. Archivado desde el original el 17 de febrero de 2013 . Consultado el 16 de febrero de 2013 .
  43. ^ "Notas de la versión de JDK para ARM 8u33". Corporación Oráculo . 2013-02-16. Archivado desde el original el 14 de marzo de 2015 . Consultado el 9 de marzo de 2015 .
  44. ^ Tema, Dalibor (27 de enero de 2013). "Lista de correo de Raspberry Pi: ¿Dónde está JavaFX en el reciente Java 8u33 para ARM?". Archivado desde el original el 9 de marzo de 2015 . Consultado el 9 de marzo de 2015 .
  45. ^ "Proyecto compilador OpenJFX". Openjfx-compiler.dev.java.net . Consultado el 7 de junio de 2008 .[ enlace muerto permanente ]
  46. ^ "Inicio del gráfico de escena del proyecto". Scenegraph.dev.java.net . Archivado desde el original el 6 de marzo de 2012 . Consultado el 7 de junio de 2008 .
  47. ^ "Descargas JavaFX". Openjfx.dev.java.net . Consultado el 7 de junio de 2008 .[ enlace muerto permanente ]
  48. ^ "¿Se lanzará la tecnología JavaFX en código abierto?". Archivado desde el original el 12 de junio de 2008 . Consultado el 7 de junio de 2008 .
  49. ^ Kaul, Jeet (16 de diciembre de 2008). "JavaFX: el camino por recorrer". Archivado desde el original el 17 de diciembre de 2008 . Consultado el 3 de enero de 2009 .
  50. ^ Bair, Richard (2 de diciembre de 2011). "Convocatoria de parches". Corporación Oráculo . Consultado el 7 de diciembre de 2011 .[ enlace muerto permanente ]
  51. ^ Safrata, Pavel (18 de diciembre de 2012). "Más de JavaFX de código abierto". Corporación Oráculo . Archivado desde el original el 29 de diciembre de 2012 . Consultado el 5 de enero de 2013 .

Bibliografía

enlaces externos