JavaFX: descripción general
Rich Internet Applicationsson aquellas aplicaciones web que brindan características y experiencia similares a las de las aplicaciones de escritorio. Ofrecen una mejor experiencia visual a los usuarios en comparación con las aplicaciones web normales. Estas aplicaciones se entregan como complementos de navegador o como una máquina virtual y se utilizan para transformar aplicaciones estáticas tradicionales en aplicaciones más mejoradas, fluidas, animadas y atractivas.
A diferencia de las aplicaciones de escritorio tradicionales, las RIA no requieren ningún software adicional para ejecutarse. Como alternativa, debe instalar software como ActiveX, Java, Flash, según la Aplicación.
En un RIA, la presentación gráfica se maneja en el lado del cliente, ya que tiene un complemento que brinda soporte para gráficos ricos. En pocas palabras, la manipulación de datos en un RIA se lleva a cabo en el lado del servidor, mientras que la manipulación de objetos relacionados se lleva a cabo en el lado del cliente.
Disponemos de tres tecnologías principales con las que podemos desarrollar un RIA. Estos incluyen los siguientes:
- Adobe Flash
- Microsoft Silverlight
- JavaFX
Adobe Flash
Esta plataforma de software está desarrollada por Adobe Systems y se utiliza para crear aplicaciones de Internet enriquecidas. Junto con estos, también puede crear otras aplicaciones como Vector, Animación, Juegos de navegador, Aplicaciones de escritorio, Aplicaciones y juegos móviles, etc.
Esta es la plataforma más utilizada para desarrollar y ejecutar RIA con una tasa de penetración del navegador de escritorio del 96%.
Microsoft Silverlight
Al igual que Adobe Flash, Microsoft Silverlight también es un marco de aplicación de software para desarrollar y ejecutar aplicaciones de Internet enriquecidas. Inicialmente, este marco se utilizó para la transmisión de medios. Las versiones actuales también admiten multimedia, gráficos y animación.
Esta plataforma rara vez se utiliza con una tasa de penetración del navegador de escritorio del 66%.
JavaFX
JavaFX es una biblioteca de Java con la que puede desarrollar aplicaciones de Internet enriquecidas. Al utilizar la tecnología Java, estas aplicaciones tienen una tasa de penetración del navegador del 76%.
¿Qué es JavaFX?
JavaFX es una biblioteca de Java que se utiliza para crear aplicaciones de Internet enriquecidas. Las aplicaciones escritas con esta biblioteca se pueden ejecutar de manera uniforme en múltiples plataformas. Las aplicaciones desarrolladas con JavaFX pueden ejecutarse en varios dispositivos, como computadoras de escritorio, teléfonos móviles, televisores, tabletas, etc.
Desarrollar GUI Applications utilizando el lenguaje de programación Java, los programadores confían en bibliotecas como Advanced Windowing Toolkit y Swing. Después de la llegada de JavaFX, estos programadores de Java ahora pueden desarrollar aplicaciones GUI de manera efectiva con contenido enriquecido.
Necesidad de JavaFX
Desarrollar Client Side Applicationscon funciones ricas, los programadores solían depender de varias bibliotecas para agregar funciones como medios, controles de interfaz de usuario, web, 2D y 3D, etc. JavaFX incluye todas estas funciones en una sola biblioteca. Además de estos, los desarrolladores también pueden acceder a las funciones existentes de una biblioteca de Java, comoSwing.
JavaFX proporciona un rico conjunto de API de gráficos y medios y aprovecha las Graphical Processing Unita través de gráficos acelerados por hardware. JavaFX también proporciona interfaces con las que los desarrolladores pueden combinar la animación de gráficos y el control de la interfaz de usuario.
Se puede utilizar JavaFX con tecnologías basadas en JVM como Java, Groovy y JRuby. Si los desarrolladores optan por JavaFX, no hay necesidad de aprender tecnologías adicionales, ya que el conocimiento previo de cualquiera de las tecnologías mencionadas anteriormente será lo suficientemente bueno para desarrollar RIA usando JavaFX.
Características de JavaFX
A continuación se muestran algunas de las características importantes de JavaFX:
Written in Java - La biblioteca JavaFX está escrita en Java y está disponible para los lenguajes que se pueden ejecutar en una JVM, que incluyen: Java, Groovy and JRuby. Estas aplicaciones JavaFX también son independientes de la plataforma.
FXML- JavaFX presenta un lenguaje conocido como FXML, que es un lenguaje de marcado declarativo similar al HTML. El único propósito de este lenguaje es definir una interfaz de usuario.
Scene Builder- JavaFX proporciona una aplicación llamada Scene Builder. Al integrar esta aplicación en IDE como Eclipse y NetBeans, los usuarios pueden acceder a una interfaz de diseño de arrastrar y soltar, que se utiliza para desarrollar aplicaciones FXML (como las aplicaciones Swing Drag & Drop y DreamWeaver).
Swing Interoperability - En una aplicación JavaFX, puede incrustar contenido Swing utilizando el Swing Nodeclase. Del mismo modo, puede actualizar las aplicaciones Swing existentes con características JavaFX como contenido web integrado y medios gráficos enriquecidos.
Built-in UI controls - La biblioteca JavaFX ofrece controles de interfaz de usuario mediante los cuales podemos desarrollar una aplicación con todas las funciones.
CSS like Styling- JavaFX proporciona un estilo CSS. Al usar esto, puede mejorar el diseño de su aplicación con un simple conocimiento de CSS.
Canvas and Printing API- JavaFX proporciona Canvas, un estilo de API de renderizado de modo inmediato. Dentro del paquetejavafx.scene.canvascontiene un conjunto de clases para lienzo, con el que podemos dibujar directamente dentro de un área de la escena JavaFX. JavaFX también proporciona clases para fines de impresión en el paquetejavafx.print.
Rich set of API’s- La biblioteca JavaFX proporciona un rico conjunto de API para desarrollar aplicaciones GUI, gráficos 2D y 3D, etc. Este conjunto de API también incluye capacidades de la plataforma Java. Por lo tanto, con esta API, puede acceder a las funciones de los lenguajes Java, como genéricos, anotaciones, subprocesos múltiples y expresiones Lambda. Se mejoró la biblioteca tradicional de colecciones de Java y se incluyeron conceptos como listas observables y mapas. Con estos, los usuarios pueden observar los cambios en los modelos de datos.
Integrated Graphics library - JavaFX proporciona clases para 2d y 3d gráficos.
Graphics pipeline- JavaFX admite gráficos basados en la canalización de gráficos acelerados por hardware conocida como Prism. Cuando se utiliza con una tarjeta gráfica o GPU compatible, ofrece gráficos fluidos. En caso de que el sistema no sea compatible con la tarjeta gráfica, el prisma utiliza de forma predeterminada la pila de renderización del software.
Historia de JavaFX
JavaFX fue desarrollado originalmente por Chris Oliver, cuando trabajaba para una empresa llamada See Beyond Technology Corporation, que posteriormente fue adquirida por Sun Microsystems en el año 2005.
Los siguientes puntos nos dan más información de este proyecto:
Inicialmente este proyecto fue nombrado como F3 (Form Follows Functions) y fue desarrollado con la intención de proporcionar interfaces más ricas para desarrollar aplicaciones GUI.
Sun Microsystems adquirió la empresa See Beyond en junio de 2005, adaptó el proyecto F3 como JavaFX.
En el año 2007, JavaFX se anunció oficialmente en Java One, una conferencia de la World Wide Web que se celebra anualmente.
En el año 2008, Net Beansintegrado con JavaFX estaba disponible. En el mismo año, JavaStandard Development Kit para JavaFX 1.0 fue lanzado.
En el año 2009, Oracle Corporation adquirió Sun Microsystems y en el mismo año también se lanzó la siguiente versión de JavaFX (1.2).
En el año 2010, salió JavaFX 1.3 y en el año 2011 se lanzó JavaFX 2.0.
La última versión, JavaFX8, se lanzó como parte integral de Java el 18 de marzo de 2014.