Introdução ao
JavaFX 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)
Agenda

1. JAVAFX - PARTE TEÓRICA


2. JAVAFX - PARTE PRÁTICA


3. VISAGE E VISAGEFX
JAVAFX - PARTE TEÓRICA
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
O que é JavaFX 2
Permite Criar Aplicações Ricas de
     Forma Fácil Com Java
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
Principais Acontecimentos JavaFX 2
     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
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
Ótimas Ferramentas




                     DATAFX
ScalaFX
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
Demo da Aplicação
"JavaFX Ensemble"
E na prática...
Ceeeerrrtoo... MAS CADÊ O CÓDIGO??????
JAVAFX - PARTE PRÁTICA
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
Como criar uma aplicação em
             JavaFX?
● Esqueleto de uma aplicação JavaFX
Olá Mundo!
Elementos de Interface
Imagens, Sons e Vídeos
Estilo com CSS
Transições
●   Transições mudam o estado de uma
    propriedade de um nó em período de tempo.
FXML
Ligando valores
● *Property: Ligação direcional e bi-direcional
Ouvindo mudança em valores
Você pode usar Builders se quiser




  Você pode usar praticamente tudo no
          modelo de Builders
Tratar Eventos é Fácil
Trate simplesmente ações ou um evento mais
    elaborado(mouse sobre, mouse entra)
E muito mais...



●   HTML
●   Muitos Controles de interface
●   Efeitos
●   Recursos para animação
●   ....
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
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
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
5 Características Legais
5. Sintaxe declarativa
Class{
   param: value
}

4. É funcional:
     Button{
       onclick: function(e:Event){
       }
     }
5 Características Legais
3. Triggers
var a:String = "Init" on replace{
   println("The var a has changed to "{a}"");
}
a = "a new value";


2. Sequences
var things = [["Java", "JavaFX"], ["Futebol",
"Ronaldo"], [1,3,5,7]];
5 Características Legais
1. Bind
var 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 = 5
b = 2; //c = 7
a = 1; //c = 3
b = 3; //c = 4
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.
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
VisageFX
Aprendendo Mais




        http://bit.ly/grupo_javafx
            http://javafx.com
Dúvidas

Introdução ao java fx e visage

  • 1.
  • 2.
    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)
  • 3.
    Agenda 1. JAVAFX -PARTE TEÓRICA 2. JAVAFX - PARTE PRÁTICA 3. VISAGE E VISAGEFX
  • 4.
  • 5.
    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
  • 6.
    O que éJavaFX 2 Permite Criar Aplicações Ricas de Forma Fácil Com Java
  • 7.
    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
  • 8.
    Principais Acontecimentos JavaFX2 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
  • 9.
    1001 Formas deUsar 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
  • 10.
    Ótimas Ferramentas DATAFX ScalaFX
  • 11.
    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
  • 12.
  • 13.
    E na prática... Ceeeerrrtoo...MAS CADÊ O CÓDIGO??????
  • 14.
  • 15.
    Como criar umaaplicaçã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
  • 16.
    Como criar umaaplicação em JavaFX? ● Esqueleto de uma aplicação JavaFX
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
    Transições ● Transições mudam o estado de uma propriedade de um nó em período de tempo.
  • 22.
  • 23.
    Ligando valores ● *Property:Ligação direcional e bi-direcional
  • 24.
  • 25.
    Você pode usarBuilders se quiser Você pode usar praticamente tudo no modelo de Builders
  • 26.
    Tratar Eventos éFácil Trate simplesmente ações ou um evento mais elaborado(mouse sobre, mouse entra)
  • 27.
    E muito mais... ● HTML ● Muitos Controles de interface ● Efeitos ● Recursos para animação ● ....
  • 28.
    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
  • 29.
  • 30.
    Visage ● Nasceu doJavaFX Script logo após o fim do mesmo ● Totalmente OpenSource ● Roda sobre a Plataforma Java ● Muito fácil de programar
  • 31.
    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
  • 32.
    5 Características Legais 5.Sintaxe declarativa Class{ param: value } 4. É funcional: Button{ onclick: function(e:Event){ } }
  • 33.
    5 Características Legais 3.Triggers var a:String = "Init" on replace{ println("The var a has changed to "{a}""); } a = "a new value"; 2. Sequences var things = [["Java", "JavaFX"], ["Futebol", "Ronaldo"], [1,3,5,7]];
  • 34.
    5 Características Legais 1.Bind var 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 = 5 b = 2; //c = 7 a = 1; //c = 3 b = 3; //c = 4
  • 35.
    Uma DSL, MuitasPlataformas 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.
  • 36.
    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
  • 37.
  • 38.
    Aprendendo Mais http://bit.ly/grupo_javafx http://javafx.com
  • 39.