18/02/2014

Um "Olá Mundo" com JavaFX 8

Olá pessoal!

Essa é uma postagem rápida que foge do nosso cronograma habitual e meu objetivo aqui é falar das mudanças mais impactantes do JavaFX 8, que vem com o Java 8.

Java 8 vem preparado para a execução de aplicações JavaFX

Você não precisa colocar o JAR do JavaFX no classpath como fazemos para o JavaFX 2.x. Com essa nova versão, você já pode compilar e executar as aplicações sem ter que fazer nenhum tipo de configuração extra.

Lambdas vão facilitar muito tratamentos de eventos e muito mais

A maior novidade do Java 8 e a adição do Lambda. Com isso, fica muito mais fácil fazer programação funcional utilizando essa linguagem orientadas a objetos . Basicamente o que temos é uma nova forma de escrever implementações de interfaces funcionais (interfaces que só têm um método abstrato, pois no Java 8 interfaces pode ter implementação padrão). 
Claro que poderíamos criar diversos artigos só sobre isso, pois a API básica também sofre adição de um pacotes só de interfaces funcionais, o java.util.function. James Weaver resumiu aqui as mudanças, mas notem que essas mudanças não são na API, mas na forma que podemos escrever código. Segue um exemplo bem básico de tratamento de evento de botão:
Como é:
// Usando classes internas
button.setOnAction(new EventHandler() {
  @Override public void handle(ActionEvent e) {
    System.out.println("Botão clicado...");
  }
});

Com uso de Lambdas :
// Usando expressões Lambdas
button.setOnAction(e -> System.out.println("Botão clicado..."));

Mudanças na API do JavaFX 8

Esse é outro tópico que não vou me estender muito, pois a Oracle já colocou no roadmap do JavaFX o que foi adicionado nessa versão. As novidades são excitantes: novos controles, suporte "embebbed"(exemplo: raspberry pi), suporte a gráficos 3d, entre outras...

Um Olá Mundo

Essa foi uma postagem bem rápida. Gostaria de compartilhar com vocês a construção de um Olá Mundo. Simplesmente baixei a mais nova build do Java 8 e já comecei o vídeo. Até a próxima, pessoal!


Nenhum comentário:

Postar um comentário