javafx 1.2 - introducción
DESCRIPTION
Introducción a JavaFX 1.2Un vistazo a esta nueva plataforma, sus principales características y componentes.Las demos que figuran en las slides pueden encontrarlas en:- Effects Playground: http://javafx.com/samples/EffectsPlayground/index.html- Photo Flockr: http://javafx.com/samples/PhotoFlockr/index.html- Indaba Session Console: www.indaba.com (requiere registrarse en el sitio)- Mosaic: http://javafx.com/samples/Mosaic/index.html- Video Box: http://www.javafx.com/launch/archive/video3.jsp- Video Box (II) http://www.javafx.com/launch/archive/video5.jsp - CloudDVR: http://www.javafx.com/launch/archive/video6.jsp- HelloWorldAnimated: http://blogs.sun.com/Argentina_ambassador/resource/HalloWorldAnimated.zipTRANSCRIPT
JavaFX 1.2IntroducciónEzequiel Aranda ([email protected])Campus AmbassadorSun Microsystems
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Lo más destacado de JavaFX• Es una plataforma que se compone de
elementos web, scripting, multimedia y Java para crear RIAs.
• Apunta al escritorio, navegador, dispositivos móviles y la industria del entretenimiento, y posee un modelo de desarrollo y deployment unificado.
• Para desarrolladores (web), diseñadores y creadores de contenido.• Agrega nuevas dimensiones a la plataforma Java
> Permite realizar complejas y vistosas interfaces en forma sencilla.> Incrementa el poder y el nivel de difusión de Java.> Escapa del navegador.
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Demos- Effects Playground- Photo Flockr- Video Box (Vídeo)
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Desarrollo de RIAs : ¿Web, RIA o Java?
RIA Web App
Java App
•Experiencia de usuario muy completa.•Sandbox seguro.•Ubicuidad, mientras haya un reproductor disponible.•Acceso limitado a capacidades del sistema o red.•Propietario.
•Enfocadas al escritorio, crecimiento en dispositivos móviles.•Experiencia de usuario regular, mejorando.•Acceso limitado a capacidades del sistema o red (salvo que se encuentre unida a un navegador especifico)•Tendencia hacía la fragmentación (navegadores, APIs).
•Múltiples pantallas/ plataformas.•Arquitectura de seguridad comprobada.•Acceso a capacidades del sistema y red,gran integración.
•Es complicado crear una experiencia de usuario completa.
•Fragmentación (soporte multimedia).
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Desarrollo de RIAs : ¿Web, RIA o Java?Objetivo: Realzar los puntos fuertes, resolver las limitaciones
RIA Aplicación Web
JavaFX, construido sobre Java• Ubicuidad (escritorio, web, dispositivos móviles, TV)
• Arquitectura de seguridad comprobada• Acceso a capacidades del sistema y red• Experiencia de usuario rica y multimedia
• Scripting, GUI declarativo• Integración completa con el navegador (de ser requerido)
• Permite “Escapar” del navegador
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Que podemos hacer con JavaFX 1.2
• Reproducir vídeo en diferentes navegadores, en forma unificada.
• Aplicaciones “business” interactivas e inmersivas.
• Acceder a web services REST.• Acceder a aplicaciones en la nube.• Aplicaciones que pueden
ejecutarse en el navegador, escritorio, dispositivos móviles y TVs.
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Demo- Indaba Session Console
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
JavaFX 1.2 Arquitectura, Herramientas y Componentes
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
JavaFX 1.2 + Java Marketecture
JavaFX Applications and Services
JavaFX Apps Framework
JavaFX Common Profile
DesktopExtensions
MobileExtensions
Java Platform (Java Plug in)
JavaFXDesktopRuntime
JavaFXMobile
Runtime
JavaFXTV
Runtime
TVExtensions
AuthoringTools
Developer Tools
(IDE Plug ins, RAD, Production Suite)
DesignerTools
(Authoring, Publishing, Media Encoding)
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Componentes de JavaFX• JavaFX Script – El lenguaje• JavaFX Runtimes: Desktop/Web, Mobile, TV
> Archivos jar de 1.5 MB (700 KB comprimido), se bajan, actualizan y mantienen en memoria en forma automática cuando se requieren.
• Aplicaciones JavaFX> En archivos jar, cargadas a través del class loader.> Independientes, vía Java Web Start, como applets o aplicaciones
móviles.• Herramientas JavaFX
> Compilador FX Script> Plug-in para IDEs, herramientas para desarrolladores> Bibliotecas para gráficos, multimedia, web services, y texto enriquecido.
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Java 6 Update 10 - “Applets reloaded”• Nuevo “Kernel” Java
> Runtime “componentizado” – pequeños módulos cargados por demanda> Descarga e instalación de módulos más rápida> Java QuickStarter: arranque en frío más rápido, arranque en caliente
instantáneo.• Nuevo Plug-In para navegadores
> Rescrito desde cero, nueva arquitectura (mayormente en Java)> Los applets corren como procesos separados, independientes del
navegador.– Más control y confiabilidad
> El puente “Live connnect” con JavaScript fue rescrito– La interacción entre el navegador (JavaScript) y el Applet (Java)
mejoró mucho
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Cadena de desarrollo en JavaFX 1.2
Creación de recursos Transformación de recursos Integración con IDEs Emulados por (de ser
requerido)
AdobeIllustrator
AdobePhotoshop JavaFX
ProductionSuite Compilador
JavaFX
Plug-in JavaFXpara IDEs
Emulador de JavaFXMobile
On2 FlixEncoders
(JavaFX File Format,VP6 y MP3)
Adobe CS3(Flash y
Flash Video,JavaFX 1.5)
(OpenSource)
Herramienta RAD
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Plug-in JavaFX 1.2 para NetBeans
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Incorpora recursos visuales existentes conJavaFX Production Suite
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
JavaFX 1.2Características y lenguaje
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Compilador y lenguaje
>Formas geométricas, líneas, curvas, arcos
>Transparencia>Gradientes, texturas>Estilos de trazo
Controles de GUI + Componentes
para gráficos
>Recortes con formas geométricas arbitrarias>Mascaras>Soporte para pantalla completa>Transformaciones>Fuentes True Type
>SE 5 y CLDC
Componentes Características
Gráficos y texto
Caracteristicas del perfil común de JavaFX
>Conjunto de controles multiplataforma (botón, deslizador, barra de progreso, etiqueta, etc.)
>Componentes para gráficosmultiplataforma (gráfico de barra, de torta, etc.)
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Animación
>Audio (mp3) y vídeo (On2) multiplataforma
>Soporte nativo para codecs (DirectShow y Core Video), concontroles de reproducción
Otros
>Web services (parser JSON/XML, APIs RESTful, RSS/ATOM)>Almacenamiento persistente>CSS skinning>Control de dispositivos de entrada (teclado, mouse, touch)
Multimedia
>Control de volumen y balance>Streaming Http + RTSP con
buffering (archivos fxm)
>Animación basada en key frames con tweening
>Animación basada en Paths
>Animaciones estándar(rotación, zoom, deslizamiento)
Componentes Características
Características del perfil común de JavaFX
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Controles de GUI + componentes para gráficos
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
JavaFX Scenegraph
javafx.scene.shapeRectangle
javafx.scene.shapeCircle
Scene { Group { Rectangle, Circle }}
• Estructura tipo árbol de nodos gráficos• Forma de representación de gráficos vectoriales sencilla,
independiente de la plataforma
• Pueden embeberse componentes Swing (en el perfil de escritorio)
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
JavaFX Script – Conceptos básicos• Un poderoso lenguaje de programación de scripts
> Especifico del dominio: diseñado para la creación de interfaces de usuario
> OO, tipos estáticos, inferencia de tipos, binding, secuencias, timelines, ...> Estilo declarativo que refleja el diseño de la interfaz> Las funciones son objetos “first-class”> Interoperabilidad fluida con Java (comparten el runtime)
• Soporte incorporado para gráficos y multimedia> Añade comportamiento composicional sobre Java2D> Creación sencilla y multiplataforma de gráficos, animaciones, vídeo y
audio• Compila para ejecutarse en runtimes Java de alta performance
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
“Hello World” - Swingimport javax.swing.*;
public class HelloWorldSwing {
public static void main(String[] args) {
JFrame frame = new JFrame("HelloWorld Swing");
final JLabel label = new JLabel("Hello, World");
frame.getContentPane().add(label);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
“Hello World” - JavaFXimport javafx.stage.*;import javafx.scene.*;import javafx.scene.text.*;
Stage { title: "HelloWorld JavaFX" scene: Scene { width: 200 height: 50 content: Text { x: 50, y: 20 content: "Hello, World" } }}
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Algunas características del lenguaje JavaFX Script• “HelloWorld”, animado
> Posee un timeline para la animación> Usa un binding para modificar la posición del texto> Utiliza un botón y un manejador de eventos de mouse para controlar la
animación> Utiliza la característica “Realtime Preview” de NetBeans
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
JavaFX 1.2 Mobile
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
JavaFX Mobile Architecture
Mobile Device
Default Stack 2D Accelerated Stack 3D Accelerated Stack
OpenVG OpenGL-ESSoftwareRenderer
JavaFX Runtime(Common API, SceneGraph, Media, Webservices)
Sun Java Wireless Client(CLDC, MIDP 2.0, JSR 135)
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
JavaFX Mobile• Anunciado en el Mobile World Congress 2009
> Partners: LG Electronics, Sony Ericsson• JavaFX 1.2 SDK
> Runtime JavaFX Mobile para Common Platform> Emulador JavaFX Mobile (Windows)> JavaFX Mobile para Windows Mobile 1.2 EA
• Selección de plataformas> Crea aplicaciones multiplataforma usando JavaFX Common Platform> Introduce características específicas para dispositivos móviles usando
JavaFX Common Platform – y/o JavaFX Mobile Elements – y/o APIs específicas para dispositivos móviles (location, sensor, ...)
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Crea y realiza el deployment en el escritorio, navegador y dispositivos móviles
• Realiza un desarrollo unificado> Herramientas comunes> Código base común> Paradigma de programación
común
• Deployment sencillo> Aplicación de escritorio> Web Start> Applet (dentro y fuera del navegador)> Aplicación móvil (emulador o teléfono)
Escritorio
Navegador
Dispositivo móvil
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Demos- Mosaic- CloudDVR (vídeo)
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Conclusión
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens
Conclusión
Volumen de dispositivos y plataformas ✔
Amplia base de desarrolladores y creadores de contenido ✔
Expresividad, Interfaces impactantes ✔
Desarrollo rápido de aplicaciones ✔
Accesibilidad y variedad de herramientas ✔
Ubicuidad multiplataforma ✔
• Ahora, Java lo tiene todo
• Visita http://javafx.com para encontrar ejemplos, vídeos, herramientas, documentos y tutoriales
Gracias.Ezequiel Aranda ([email protected])Campus AmbassadorSun Microsystems