SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Mais procurados

JavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBJavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEB
jesuinoPower
 
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SPBoas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP
jesuinoPower
 
JavaFX 2 - TDC 2012
JavaFX 2 - TDC 2012JavaFX 2 - TDC 2012
JavaFX 2 - TDC 2012
jesuinoPower
 
Criando aplicações java fx em minutos
Criando aplicações java fx em minutosCriando aplicações java fx em minutos
Criando aplicações java fx em minutos
Bruno Oliveira
 
Chega de lendas! JavaFX em Android
Chega de lendas! JavaFX em AndroidChega de lendas! JavaFX em Android
Chega de lendas! JavaFX em Android
Bruno Oliveira
 
Introdução ao JavaFX
Introdução ao JavaFXIntrodução ao JavaFX
Introdução ao JavaFX
jesuinoPower
 
JavaFx - Guia Prático
JavaFx - Guia PráticoJavaFx - Guia Prático
JavaFx - Guia Prático
danielfc
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão Geral
Eder Nogueira
 
Javafx
JavafxJavafx
Rest web services com Java
Rest web services com JavaRest web services com Java
Rest web services com Java
jesuinoPower
 
Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2
Claudiney Marques
 
Ria e Java FX
Ria e Java FXRia e Java FX
Ria e Java FX
Marcelo Quinta
 
JavaFX: Abordagem Prática
JavaFX: Abordagem PráticaJavaFX: Abordagem Prática
JavaFX: Abordagem Prática
Eder Magalhães
 
Conectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPConectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SP
jesuinoPower
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSF
Rafael Ponte
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
Laís Lima
 
Desenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitDesenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo Toolkit
Flávio Lisboa
 
A Evolução do Front end
A Evolução do Front endA Evolução do Front end
A Evolução do Front end
Douglas Matoso
 
Java Web Fácil com VRaptor
Java Web Fácil com VRaptorJava Web Fácil com VRaptor
Java Web Fácil com VRaptor
Frederico Maia Arantes
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
Laís Lima
 

Mais procurados (20)

JavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBJavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEB
 
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SPBoas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP
 
JavaFX 2 - TDC 2012
JavaFX 2 - TDC 2012JavaFX 2 - TDC 2012
JavaFX 2 - TDC 2012
 
Criando aplicações java fx em minutos
Criando aplicações java fx em minutosCriando aplicações java fx em minutos
Criando aplicações java fx em minutos
 
Chega de lendas! JavaFX em Android
Chega de lendas! JavaFX em AndroidChega de lendas! JavaFX em Android
Chega de lendas! JavaFX em Android
 
Introdução ao JavaFX
Introdução ao JavaFXIntrodução ao JavaFX
Introdução ao JavaFX
 
JavaFx - Guia Prático
JavaFx - Guia PráticoJavaFx - Guia Prático
JavaFx - Guia Prático
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão Geral
 
Javafx
JavafxJavafx
Javafx
 
Rest web services com Java
Rest web services com JavaRest web services com Java
Rest web services com Java
 
Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2
 
Ria e Java FX
Ria e Java FXRia e Java FX
Ria e Java FX
 
JavaFX: Abordagem Prática
JavaFX: Abordagem PráticaJavaFX: Abordagem Prática
JavaFX: Abordagem Prática
 
Conectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPConectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SP
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSF
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 
Desenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitDesenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo Toolkit
 
A Evolução do Front end
A Evolução do Front endA Evolução do Front end
A Evolução do Front end
 
Java Web Fácil com VRaptor
Java Web Fácil com VRaptorJava Web Fácil com VRaptor
Java Web Fácil com VRaptor
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 

Semelhante a Introdução ao java fx e visage

JavaFX 1.2
JavaFX 1.2JavaFX 1.2
JavaFX 1.2
Elenilson Vieira
 
JavaFX 1.2
JavaFX 1.2JavaFX 1.2
JavaFX 1.2
Raphael Marques
 
Hello World JavaFX
Hello World JavaFXHello World JavaFX
Hello World JavaFX
Marcelo Quinta
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
munosai
 
Palestra Sepai Alfredofurtado Introducao Ao Javafx
Palestra Sepai Alfredofurtado Introducao Ao JavafxPalestra Sepai Alfredofurtado Introducao Ao Javafx
Palestra Sepai Alfredofurtado Introducao Ao Javafx
alfredofurtado
 
Tutorial Java EE
Tutorial Java EETutorial Java EE
Tutorial Java EE
Rodrigo Cândido da Silva
 
JavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeJavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividade
Rafael Ponte
 
Java 8 - A Evolução da Linguagem
Java 8 - A Evolução da LinguagemJava 8 - A Evolução da Linguagem
Java 8 - A Evolução da Linguagem
Petronio Candido
 
Java não é tão difícil quanto parece
Java não é tão difícil quanto pareceJava não é tão difícil quanto parece
Java não é tão difícil quanto parece
jesuinoPower
 
Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!
Aécio Costa
 
Jugday - Java Básico
Jugday - Java BásicoJugday - Java Básico
Jugday - Java Básico
Paloma Costa
 
Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Faces
cejug
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
Marcio Marinho
 
Curso JavaFX 2
Curso JavaFX 2Curso JavaFX 2
Curso JavaFX 2
Bruno Buger
 
Aula 01 O que é java
Aula 01   O que é javaAula 01   O que é java
Aula 01 O que é java
Sergio Silva
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
armeniocardoso
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
Álvaro Farias Pinheiro
 
POO - Aula 1 introducao
POO - Aula 1   introducaoPOO - Aula 1   introducao
POO - Aula 1 introducao
Rafael Pinheiro
 
Java em 2021
Java em 2021Java em 2021
Java em 2021
Sandro Giacomozzi
 
JavaFX Mobile
JavaFX MobileJavaFX Mobile
JavaFX Mobile
Claudiney Marques
 

Semelhante a Introdução ao java fx e visage (20)

JavaFX 1.2
JavaFX 1.2JavaFX 1.2
JavaFX 1.2
 
JavaFX 1.2
JavaFX 1.2JavaFX 1.2
JavaFX 1.2
 
Hello World JavaFX
Hello World JavaFXHello World JavaFX
Hello World JavaFX
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
Palestra Sepai Alfredofurtado Introducao Ao Javafx
Palestra Sepai Alfredofurtado Introducao Ao JavafxPalestra Sepai Alfredofurtado Introducao Ao Javafx
Palestra Sepai Alfredofurtado Introducao Ao Javafx
 
Tutorial Java EE
Tutorial Java EETutorial Java EE
Tutorial Java EE
 
JavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeJavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividade
 
Java 8 - A Evolução da Linguagem
Java 8 - A Evolução da LinguagemJava 8 - A Evolução da Linguagem
Java 8 - A Evolução da Linguagem
 
Java não é tão difícil quanto parece
Java não é tão difícil quanto pareceJava não é tão difícil quanto parece
Java não é tão difícil quanto parece
 
Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!
 
Jugday - Java Básico
Jugday - Java BásicoJugday - Java Básico
Jugday - Java Básico
 
Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Faces
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
Curso JavaFX 2
Curso JavaFX 2Curso JavaFX 2
Curso JavaFX 2
 
Aula 01 O que é java
Aula 01   O que é javaAula 01   O que é java
Aula 01 O que é java
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
POO - Aula 1 introducao
POO - Aula 1   introducaoPOO - Aula 1   introducao
POO - Aula 1 introducao
 
Java em 2021
Java em 2021Java em 2021
Java em 2021
 
JavaFX Mobile
JavaFX MobileJavaFX Mobile
JavaFX Mobile
 

Introdução ao java fx e visage

  • 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. JAVAFX - PARTE TEÓRICA
  • 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 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
  • 9. 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
  • 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
  • 13. E na prática... Ceeeerrrtoo... MAS CADÊ O CÓDIGO??????
  • 14. JAVAFX - PARTE PRÁTICA
  • 15. 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
  • 16. Como criar uma aplicação em JavaFX? ● Esqueleto de uma aplicação JavaFX
  • 19. Imagens, Sons e Vídeos
  • 21. Transições ● Transições mudam o estado de uma propriedade de um nó em período de tempo.
  • 22. FXML
  • 23. Ligando valores ● *Property: Ligação direcional e bi-direcional
  • 25. Você pode usar Builders 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
  • 30. Visage ● Nasceu do JavaFX 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, 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.
  • 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
  • 38. Aprendendo Mais http://bit.ly/grupo_javafx http://javafx.com