Introdução ao java fx e visage

39
Introdução ao JavaFX e Visage

Transcript of Introdução ao java fx e visage

Page 1: Introdução ao java fx e visage

Introdução ao JavaFX e Visage

Page 2: Introdução ao java fx e visage

Quem é William

● Formado na FATEC SJC● Trabalha na Red Hat com Suporte de

ferramentas JBoss● Um dos organizadores do JUG Vale● Fã do JavaFX desde a versão 1.0● Fã de Open Source e programação● Áreas de estudo atualmente incluem REST

(JAX-RS), Portais em Java(Portlet JSR 168 e 286), Servidores de Aplicação JEE(ou RESTEasy, GateIn e JBoss AS)

Page 3: Introdução ao java fx e visage

Agenda

1. JAVAFX - PARTE TEÓRICA

2. JAVAFX - PARTE PRÁTICA

3. VISAGE E VISAGEFX

Page 4: Introdução ao java fx e visage

JAVAFX - PARTE TEÓRICA

Page 5: Introdução ao java fx e visage

O que é JavaFX 2

É uma moderna biblioteca Java que dispõe de vários recursos para

criação de aplicações ricas. Sua forma de programar facilita muito a vida do desenvolvedor.

É o novo Swing

Page 6: Introdução ao java fx e visage

O que é JavaFX 2

Permite Criar Aplicações Ricas de Forma Fácil Com Java

Page 7: Introdução ao java fx e visage

Era uma vez...

● JavaFX Script criado por Chris Oliver● Novo JavaFX, compilado e nova engine

gráfica● JavaFX 1.2.1 com novos controles

até que um dia...

JavaFX 2 fim do JavaFX Script, inicio de uma API Java

Page 8: Introdução ao java fx e visage

Desde então muita coisa aconteceu

● Altos investimentos da Oracle● Open Source● Linux, Mac e Windows● Ferramentas visuais ● Demonstrado no iPad● Novos projetos Open Source JavaFX 2 se tornou uma plataforma madura

para criação de aplicações

Principais Acontecimentos JavaFX 2

Page 9: Introdução ao java fx e visage

1001 Formas de Usar JavaFX

No JavaFX, quem manda é o freguês● Linguagens de programação

○ VisageFX○ ScalaFX ○ GroovyFX

● IDEs○ Eclipse○ Netbeans

● Formas de programar○ Java Plano○ Builders○ FXML

Page 10: Introdução ao java fx e visage

Ótimas Ferramentas

DATAFXScalaFX

Page 11: Introdução ao java fx e visage

JavaFX é Cheio "das Modernidades"

Senta que lá vem história...● "Tudo é um nó"● Fácil tratamento de eventos● Muitos controles de interface● Navegador embutido● Suporte a animação e efeitos● Aceleração gráfica● CSS● Suporte a gráficos● Suporte a vídeo e áudio

Page 12: Introdução ao java fx e visage

Demo da Aplicação "JavaFX Ensemble"

Page 13: Introdução ao java fx e visage

E na prática...

Ceeeerrrtoo... MAS CADÊ O CÓDIGO??????

Page 14: Introdução ao java fx e visage

JAVAFX - PARTE PRÁTICA

Page 15: Introdução ao java fx e visage

Como criar uma aplicação em JavaFX?

● Primeiramente você deve saber algumas coisas importantes:○ Abstração de teatro usa os conceitos Palco(Stage)

e Cena(Scene)○ A classe principal sempre herda de javafx.

application.Application○ Todos os atores(componentes da Cena) herdam de

javafx.scene.Node○ As classes do JavaFX ficam no jar jfxrt.jar, presente

no JavaFX quando você baixa ele do site da Oracle

Page 16: Introdução ao java fx e visage

Como criar uma aplicação em JavaFX?

● Esqueleto de uma aplicação JavaFX

Page 17: Introdução ao java fx e visage

Olá Mundo!

Page 18: Introdução ao java fx e visage

Elementos de Interface

Page 19: Introdução ao java fx e visage

Imagens, Sons e Vídeos

Page 20: Introdução ao java fx e visage

Estilo com CSS

Page 21: Introdução ao java fx e visage

Transições

● Transições mudam o estado de uma propriedade de um nó em período de tempo.

Page 22: Introdução ao java fx e visage

FXML

Page 23: Introdução ao java fx e visage

Ligando valores

● *Property: Ligação direcional e bi-direcional

Page 24: Introdução ao java fx e visage

Ouvindo mudança em valores

Page 25: Introdução ao java fx e visage

Você pode usar Builders se quiser

Você pode usar praticamente tudo no modelo de Builders

Page 26: Introdução ao java fx e visage

Tratar Eventos é Fácil

Trate simplesmente ações ou um evento mais elaborado(mouse sobre, mouse entra)

Page 27: Introdução ao java fx e visage

E muito mais...

● HTML● Muitos Controles de interface ● Efeitos● Recursos para animação

● ....

Page 28: Introdução ao java fx e visage

Lembre-se sempre

...e mais uma coisa...

● Tudo é um Nó(Node). Sério, tudo!● Leia sempre a JavaDoc para desenvolver;● Use a aplicação Ensemble quando precisar

lembrar como faz alguma coisa

Page 29: Introdução ao java fx e visage

VISAGE

Page 30: Introdução ao java fx e visage

Visage

● Nasceu do JavaFX Script logo após o fim do mesmo

● Totalmente OpenSource● Roda sobre a Plataforma Java● Muito fácil de programar

Page 31: Introdução ao java fx e visage

Por que Visage?

● Ok, Java tem várias opções, é maduro, etc, mas as vezes você quer algo específico, para criar interfaces.

● Visage é específica(DSL - Domain Specific Language) para criação de interfaces. É fácil e tem curva de aprendizado muito pequena.

● Visage é mais do JavaFX, roda no topo de Android, Vaadin e há planos para mais

Page 32: Introdução ao java fx e visage

5 Características Legais

5. Sintaxe declarativaClass{ param: value}

4. É funcional: Button{ onclick: function(e:Event){ }}

Page 33: Introdução ao java fx e visage

5 Características Legais

3. Triggersvar a:String = "Init" on replace{ println("The var a has changed to \"{a}\"");}a = "a new value";

2. Sequencesvar things = [["Java", "JavaFX"], ["Futebol", "Ronaldo"], [1,3,5,7]];

Page 34: Introdução ao java fx e visage

5 Características Legais

1. Bindvar a:Integer = 0;var b:Integer = 0;var c = bind a + b on replace{println("a is {a}, b is {b} and c is {c}");};a = 5; //c = 5b = 2; //c = 7a = 1; //c = 3b = 3; //c = 4

Page 35: Introdução ao java fx e visage

Uma DSL, Muitas Plataformas

Com Visage é possível criar interfaces para diversas plataformas. Atualmente temos:

● Vaadin● Android● JavaFX (VisageFX)

A maior vantagem é aprender uma só linguagem específica e reaproveitar o conhecimento em outras plataformas.

Page 36: Introdução ao java fx e visage

VisageFX

Visage no topo de JavaFX

Adaptamos Visage para ocultar verbosidade do Java com uma linguagem expressiva e específica para Interfaces com o Usuário

Page 37: Introdução ao java fx e visage

VisageFX

Page 38: Introdução ao java fx e visage

Aprendendo Mais

http://bit.ly/grupo_javafxhttp://javafx.com

Page 39: Introdução ao java fx e visage

Dúvidas