javafx 1.2 - introducción

31
JavaFX 1.2 Introducción Ezequiel Aranda ([email protected]) Campus Ambassador Sun Microsystems

Upload: flekoso

Post on 12-Jun-2015

6.262 views

Category:

Technology


10 download

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.zip

TRANSCRIPT

Page 1: JavaFX 1.2 - Introducción

JavaFX 1.2IntroducciónEzequiel Aranda ([email protected])Campus AmbassadorSun Microsystems

Page 2: JavaFX 1.2 - Introducción

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.

Page 3: JavaFX 1.2 - Introducción

2009 Sun Microsystems, Incorporated. All Rights Reserved.

A rich client platform for all screens

Demos- Effects Playground- Photo Flockr- Video Box (Vídeo)

Page 4: JavaFX 1.2 - Introducción

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).

Page 5: JavaFX 1.2 - Introducción

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

Page 6: JavaFX 1.2 - Introducción

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.

Page 7: JavaFX 1.2 - Introducción

2009 Sun Microsystems, Incorporated. All Rights Reserved.

A rich client platform for all screens

Demo- Indaba Session Console

Page 8: JavaFX 1.2 - Introducción

2009 Sun Microsystems, Incorporated. All Rights Reserved.

A rich client platform for all screens

JavaFX 1.2 Arquitectura, Herramientas y Componentes

Page 9: JavaFX 1.2 - Introducción

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)

Page 10: JavaFX 1.2 - Introducción

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.

Page 11: JavaFX 1.2 - Introducción

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

Page 12: JavaFX 1.2 - Introducción

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

Page 13: JavaFX 1.2 - Introducción

2009 Sun Microsystems, Incorporated. All Rights Reserved.

A rich client platform for all screens

Plug-in JavaFX 1.2 para NetBeans

Page 14: JavaFX 1.2 - Introducción

2009 Sun Microsystems, Incorporated. All Rights Reserved.

A rich client platform for all screens

Incorpora recursos visuales existentes conJavaFX Production Suite

Page 15: JavaFX 1.2 - Introducción

2009 Sun Microsystems, Incorporated. All Rights Reserved.

A rich client platform for all screens

JavaFX 1.2Características y lenguaje

Page 16: JavaFX 1.2 - Introducción

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.)

Page 17: JavaFX 1.2 - Introducción

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

Page 18: JavaFX 1.2 - Introducción

2009 Sun Microsystems, Incorporated. All Rights Reserved.

A rich client platform for all screens

Controles de GUI + componentes para gráficos

Page 19: JavaFX 1.2 - Introducción

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)

Page 20: JavaFX 1.2 - Introducción

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

Page 21: JavaFX 1.2 - Introducción

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);

}

}

Page 22: JavaFX 1.2 - Introducción

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" } }}

Page 23: JavaFX 1.2 - Introducción

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

Page 24: JavaFX 1.2 - Introducción

2009 Sun Microsystems, Incorporated. All Rights Reserved.

A rich client platform for all screens

JavaFX 1.2 Mobile

Page 25: JavaFX 1.2 - Introducción

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)

Page 26: JavaFX 1.2 - Introducción

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, ...)

Page 27: JavaFX 1.2 - Introducción

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

Page 28: JavaFX 1.2 - Introducción

2009 Sun Microsystems, Incorporated. All Rights Reserved.

A rich client platform for all screens

Demos- Mosaic- CloudDVR (vídeo)

Page 29: JavaFX 1.2 - Introducción

2009 Sun Microsystems, Incorporated. All Rights Reserved.

A rich client platform for all screens

Conclusión

Page 30: JavaFX 1.2 - Introducció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

Page 31: JavaFX 1.2 - Introducción

Gracias.Ezequiel Aranda ([email protected])Campus AmbassadorSun Microsystems