Atenção: esse artigo tem um vídeo complementar. Clique e assista!

Do que se trata o artigo:

O artigo apresenta a tecnologia JavaFX 2.0, voltada ao desenvolvimento de aplicações cliente ricas para a Internet em múltiplas plataformas. Para isso, uma introdução à tecnologia, seu histórico e principais recursos são apresentados, junto a exemplos práticos onde são demonstradas algumas das suas funcionalidades.

Em que situação o tema útil:

A criação de aplicações cliente ricas é hoje um segmento em ascensão na área de desenvolvimento de software. Os programadores Java contam agora com o JavaFX 2.0 como uma nova opção, poderosa e flexível, nesta área.

Resumo DevMan:

A tecnologia JavaFX, recentemente atualizada para a versão 2.0, possibilita a criação de aplicações cliente ricas para a Internet utilizando um novo conjunto de controles e recursos gráficos, aliados às vantagens da linguagem Java que já são familiares aos desenvolvedores. Não são somente aplicações gráficas e jogos que podem tirar proveito da tecnologia. Qualquer tipo de software cliente pode ser desenvolvido utilizando seus recursos e evidentes vantagens na elaboração de uma rica interface.

Desde a popularização da Internet, vemos uma tendência crescer de maneira constante: a convergência de aplicativos, anteriormente “isolados” em um computador desconectado, para a “Web”. Dentro da janela de um navegador, não são somente sites que prendem a atenção do usuário – agora, aplicativos, jogos e conteúdo multimídia “saltam” literalmente da Internet para o computador do usuário.

Essa tendência de criação de aplicações Web cada vez mais parecidas (e até mesmo equivalentes ou superiores) com outros programas tradicionalmente não dependentes da Internet – e que são costumeiramente chamados de “aplicativos desktop” – culminou com o aparecimento de uma nova categoria de aplicativos, a dos aplicativos ricos para a Internet (Rich Internet Applications, ou simplesmente RIA).

A ideia por trás deste tipo de aplicativo é justamente dar ao usuário os mesmos recursos e a mesma sensação de utilização que ele possui com um aplicativo desktop tradicional, desfrutando das óbvias vantagens da conexão à rede. Um aplicativo deste tipo, por ser executado na maioria dos casos “dentro” de um navegador, torna-se acessível em qualquer local onde o usuário tenha acesso a um browser e uma conexão à Internet.

Uma outra característica marcante da aplicação rica para a Internet é que esta geralmente faz uso intenso de animações e gráficos em alta qualidade – tanto que, atualmente, alguns dos exemplos mais populares de aplicativos nesta categoria são jogos e programas com uso abundante de recursos de multimídia.

Este conceito das Rich Internet Applications, apesar de ser desconhecido por muitos, não é novo. Programas deste tipo têm sido desenvolvidos há anos, por meio de plug-ins para navegadores (como o Adobe Flash), virtualização e uso intenso de JavaScript e Ajax. Atualmente, as três plataformas mais utilizadas para desenvolvimento de aplicações ricas para a Internet são (por taxa de presença no mercado – http://www.statowl.com/custom_ria_market_penetration.php):

· Adobe Flash (95.60 %);

· Java (75.81 %); e

· Microsoft Silverlight (67.32 %).

A plataforma Adobe Flash é uma “velha conhecida” dos desenvolvedores Web; com ela, os mais variados tipos de aplicativos são desenvolvidos atualmente, de jogos e softwares multimídia a aplicativos tradicionais, por meio do uso do AIR (Adobe Integrated Runtime).

A aposta da Microsoft em RIA, o Silverlight, foi lançado em Abril de 2007 e é um competidor direto do Adobe Flash. Em seu benefício, está a possibilidade de criação de aplicativos usando as linguagens do framework .NET e o Visual Studio como ferramenta de desenvolvimento.

O Java ocupa a segunda posição nesta estatística, com o diferencial de ser já “veterana” neste quesito – afinal de contas, applets Java são usados há anos para desenvolvimento de aplicações ricas para a Internet.

Mas além dos applets, uma nova alternativa para desenvolvimento de aplicações ricas em Java foi apresentada em Maio de 2007 pela então Sun (hoje, como sabemos, incorporada pela Oracle): o JavaFX.

O que é JavaFX: introdução e um breve histórico

Nas palavras da própria Oracle, JavaFX é “o próximo passo na evolução do Java como plataforma de desenvolvimento de aplicações cliente ricas”. E a Oracle vai ainda mais longe: no item 6 do FAQ do JavaFX (http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html), a empresa indica que a tendência é o JavaFX assumir o posto do Swing como principal biblioteca de interface do usuário da linguagem. Isso não quer dizer pouca coisa.

Inicialmente apresentada em maio de 2007, a primeira versão oficial (1.0) só foi disponibilizada pela Sun em dezembro de 2008. Nas suas primeiras versões, antes da chegada da 2.0, os aplicativos JavaFX eram criados em uma linguagem de scripting específica, denominada JavaFX Script.

O código escrito nesta linguagem era posteriormente compilado em bytecode, podendo ser executado em qualquer sistema com o Java Runtime instalado. Mantendo a tradição do Java, uma aplicação rica JavaFX pode ser executada em plataformas distintas, como celulares com Java ME, sistemas operacionais da família Windows e variações de Unix (Linux, Solaris e Mac OS X).

O lançamento da versão 2.0 marcou uma mudança significativa no JavaFX, já que a partir dela as aplicações puderam passar a ser escritas em código Java nativo. O suporte ao JavaFX Script foi removido nesta versão, mas graças à disponibilização pública do seu código-fonte em 2007, ganhou uma possibilidade de “sobrevida” com a ajuda da comunidade (como por exemplo o projeto Visage – http://code.google.com/p/visage/).

Agora, com o JavaFX 2, a solução é apresentada como a forma do programador Java “tradicional” reaproveitar seu conhecimento na linguagem para o desenvolvimento de aplicações ricas.

Características e recursos do JavaFX

O JavaFX traz uma série de características e recursos interessantes aos desenvolvedores, sejam eles programadores Java ou não, como por exemplo:

· Um conjunto de mais de cinquenta controles totalmente “repaginados”, incluindo os tradicionais (como botões, caixas de entrada de texto, etc.) e outros mais sofisticados, como gráficos (Figura 1), tabelas e até mesmo uma versão do popular “acordeão” (accordion) encontrado em bibliotecas JavaScript. Afinal de contas, uma aplicação séria e detalhista, como, por exemplo, uma que demonstra os indicadores financeiros de uma empresa, não precisa ser necessariamente feia;

· Drag and drop de aplicativos: uma aplicação JavaFX executada dentro de um navegador pode facilmente ser “arrastada” até a área de trabalho, ou outra pasta qualquer, e posteriormente ser executada sem necessidade do browser;

· A partir da versão 2.0, com a mudança de JavaFX Script para código Java nativo, fica ainda mais intuitiva e rápida a familiarização de usuários veteranos da linguagem com a nova tecnologia;

· Uma separação da interface gráfica e da lógica realizada adequadamente. Para isso, o JavaFX traz a FXML – uma linguagem de marcação baseada em XML para definição da interface;

· Mecanismo de aceleração gráfica que aproveita diretamente os recursos das GPUs mais modernas, tanto nas interfaces mais “tradicionais” (usando controles padrão, como botões e caixas de texto), quanto no uso de desenhos, animações e gráficos 3D;

· Um novo mecanismo de mídia, para reprodução de áudio, vídeo e streaming;

· Fácil integração com aplicações e controles Swing existentes;

· Um novo plug-in para os browsers, que visa aumentar o desempenho na execução das aplicações JavaFX e utilizar as vantagens da aceleração gráfica.

Figura 1. Tela do exemplo Ensemble, fornecido pela Oracle, apresentando um gráfico criado em JavaFX 2.0.

...
Quer ler esse conteúdo completo? Tenha acesso completo