Essa promissora ferramenta conta com todos os recursos que a linguagem Java oferece, incluindo o fato de ser multiplataforma. Apresentaremos também as camadas da arquitetura do JavaFX, detalhando como cada uma contribui para a criação do layout da aplicação, além de mostrar as novidades da versão 8 e exemplos práticos de como usufruir dessa poderosa e versátil solução.
Desde a versão 1.2 do Java já existiam dois tipos de bibliotecas gráficas: AWT e Swing. A AWT foi a primeira API destinada a interfaces gráficas a ser criada e, mais tarde, foi superada pelo Swing, que trouxe diversos benefícios em relação a seu antecessor.
Em sua grande maioria, as bibliotecas de criação de interfaces gráficas são simples de serem utilizadas. O obstáculo inicial fica por conta da familiarização com a sintaxe da linguagem e o grande leque de componentes disponíveis.
Com o intuito de agregar mais valor às interfaces de aplicativos desktop, o JavaFX foi anunciado em maio de 2007, no JavaOne, tendo sua primeira release lançada no dia 4 de dezembro de 2008. Nas versões iniciais, chamada de JavaFX Script, os desenvolvedores faziam uso de uma tipagem estática, verificada em tempo de compilação, junto a uma linguagem declarativa para construir as interfaces.
Após a versão 2.0, a tecnologia passou a ser uma biblioteca do Java, podendo usufruir do código nativo para o desenvolvimento das aplicações, e a partir da versão 7 update 6, passou a ser distribuída nas instalações da linguagem, deixando de ser necessário baixar e instalar como uma solução externa.
A API JavaFX é usada para a criação de aplicações RIA (Rich Internet Application) que se comportam de maneira consistente em todas as plataformas, não sendo necessário recompilar o código fonte para ser executada em diferentes JVMs, desde que estas estejam na mesma versão na qual o código foi compilado.
O termo RIA é usado para descrever Aplicações Ricas para a Internet, ou seja, aplicações que são executadas em ambiente web, mas que possuem características similares a softwares desenvolvidos para execução em ambientes desktop.
O desenvolvimento de aplicações em JavaFX pode fazer uso de qualquer biblioteca Java, acessar recursos nativos do sistema ou se conectar a aplicativos de middleware baseados em servidor.
Essa possibilidade se dá pelo fato do JavaFX estar totalmente integrado ao Java Runtime Environment (JRE) e ao Java Development Kit (JDK), sendo capaz de executar aplicações que o adotem nas principais plataformas desktop (Linux, Mac OS X e Windows).
Além disso, a partir da versão 8 as plataformas ARM também passaram a ser suportadas, aumentando a versatilidade da API com o uso em sistemas embarcados, como PDAs, dispositivos móveis ou máquinas com fins industriais.
Dentre os vários recursos disponíveis estão o uso de componentes nativos, gráficos 2D e 3D, efeitos, animações, músicas e vídeos, proporcionando uma vasta opção de funcionalidades para a construção do layout da aplicação.
Para facilitar a criação e customização de interfaces, os desenvolvedores contam com o FXML, uma linguagem baseada em XML capaz de manipular componentes usando HTML e CSS.
Apesar de muitos desenvolvedores preferirem criar e customizar a interface através do FXML, outros acham mais fácil o uso de uma ferramenta gráfica. Pensando nisso, a Oracle disponibiliza uma ferramenta bastante intuitiva, chamada Scene Builder, que auxilia a criação e a manutenção do código fonte do FXML, aumentando a produtividade e possibilitando a visualização das telas no decorrer do desenvolvimento.
O uso do Scene Builder é muito indicado em casos onde o desenvolvedor deseja conseguir um rápido feedback e/ou não está familiarizado com as tags FXML. A partir dele é gerado um código simples e claro, possível de alterar em qualquer editor de texto ou XML, não engessando o uso à ferramenta em outras etapas do projeto.
Neste artigo será apresentada uma visão geral da arquitetura da API JavaFX e seus principais componentes, detalhando-os e mostrando alguns exemplos na prática.
A arquitetura
A arq ...
Desbloqueie toda a DevMedia
-
+2000 artigos e vídeos
-
+40 trilhas sobre Front-end, Back-end, IA e muito mais
-
+5000 exercícios práticos
-
Mentorias ao vivo individuais