JavaFX


Como falamos nos posts anteriores , o JavaFX traz algumas diferenças significativas em relação ao Java, por aproveitar as APIS do Java, permitindo uma gama de possibilidades tão vastas como o próprio java. Por exemplo é possível fazer chamadas para métodos ou criação de objetos de forma procedural, como em java.

No trecho de código abaixo temos um exemplo de que como criar de forma procedural um frame e adicionar um evento a um botão, feito em java.

Forma Procedural

Mas segundo a documentação do JavaFX, a melhor forma de fazer o seu uso é trabalhar de forma declarativa, como no trecho de código abaixo, relativo ao código anterior.

Forma Declarativa

Observamos que o “operation” é o equivalente a um método em java, podendo conter métodos java, controles de fluxo, tratamento de exceções, loops e outros. Outra coisa que difere é que as variáveis não são tipificadas. Existem também uma grande variedade de novas funcionalidades como: Lista de Compreensão e Arrays, Concorrência, Classes e Objetos, Triggers e Reflections.

  • Lista de Compreensão e Arrays – novo conceito que o java puro não possui. A lista é composta por uma ou mais listas de entrada, um filtro opcional e uma expressão geradora.
  • Concorrência – a palavra reservada “do” é utilizada com uma finalidade diferente do Java, permitindo que a thread de Eventos AWT continue executanto, enquanto o código entre o “do” será executado em uma outra thread em background. ( Excelente recurso para preenchimento de combos e listas para exibição na Interface com o usuário )
  • Classes e Objetos – as classes também são criadas declarativamente, ficando a implementação das funções e operações fora do corpo da classe.
  • Triggers - essa funcionalidade foi inserida para resolver o problema da falta de construtores das classes e a não existência de métodos set/get.  Existem quatro tipos de triggers : criação de objetos, inserção, atualização e deleção de um atributo.
  • Reflexão – utiliza-se da mesma forma que em Java puro para acessar classes, atributos, funções e operações através da palavra reservada class.

Com esse post, o objetivo principal foi deixar claro algumas das novas funcionalidades e características do JavaFX, mas sugiro que um bom e velho hello world (existem tutoriais) seja implementado, para que se possa aprender mais.

No próximo post concluiremos o tema, tratando das limitações.

Dando continuidade ao tema JavaFX , vamos falar hoje do JavaFX Mobile que é o novo OS da SUN para dispositivos móveis e que serão distribuídos aos fabricantes sob licença GPL e comercializado para as operadoras de celular e fabricantes de PDA, Smartphones, no modelo OEM.

A figura abaixo demonstra os serviços e aplicações oferecidos no SO JavaFX Mobile.

JavaFX Mobile

Dentre as principais características estão os serviços básicos de mensagens (SMS, MMS,etc) , browser, suporte a música e vídeos, e total integração com a API do Java, software updates , frameworks de segurança, multimídia, telefonia e um engenho de avançado de funções gráficas , entre outros.

Também tem uma completa e pré-integrada solução que habilita os fabricantes de dispositivos móveis a concentrarem esforços nos desenvolvimento de novos serviços, com baixo custo de investimento, pois como dito anteriormente, utiliza toda a API do Java como plataforma base.

Poderão ser implementadas bibliotecas, middlwares e aplicações em Java de forma mais fácil, simplificando e acelerando o desenvolvimento de aplicações mais seguras e mais eficientes, com interfaces gráficas mais ricas para os usuários.

No próximo post falaremos sobre mais algumas características e trançando um paralelo entre as principais diferenças entre o Java e JavaFX.

Ando estudando e lendo sobre essa nova tecnologia que a SUN criou para as chamadas aplicações RIA (Rich Internet Application) e resolvi compartilhar com vocês alguns do conhecimentos e também fazer um exemplo prático de seu uso, como também, discutir algumas de suas limitações, nessa primeira versão.

O JavaFX veio para atender a necessidade de sofisticação da interface com o cliente, com o JavaFX Script e também incrementar a tão conhecida “portabilidade” para todos os dispositivos, com o JavaFx Mobile.

A imagem abaixo mostra a arquitetura do framework JavaFX Script e suas principais características.

Arquitetura JavaFX

A grande chave para o uso dessa tecnologia é o uso do java, instalado nos dispositivos, como base para a integração e evolução da linguagem de script.

“The write once, run anywhere portability ” …essa frase famosa promete que uma vez escrito o código de uma aplicação, ela poderá ser executada em qualquer lugar, sem a necessidade de re-escrita.

Entre as principais novidades do JavaFx Script estão:

1- JavaFX Script usa uma sintaxe declarativa para especificação de GUI´s;

2 – Através do link declarativo e incremental de valores, é possível criar e configurar componentes individuais, sincronizando “automaticamente” os dados às interfaces(GUI) desenvolvidas;

3 – Será prossível utilizar o JavaFX com as principais IDE´s de mercado;

4 – Diferentemente de outros scripts java, o JavaFX é fortemente tipado, possibilidanto o reuso de código, de programas bem estruturados e as características de encapsulamento que permitem criar e manter grandes programas em java.

No próximo post, vamos falar um pouco mais sobre os conceitos do JavaFX e também do JavaFX Mobile.

Até lá