JavaFX - Visão geral

Rich Internet Applicationssão aqueles aplicativos da web que fornecem recursos e experiência semelhantes aos de aplicativos de desktop. Eles oferecem uma melhor experiência visual aos usuários quando comparados aos aplicativos web normais. Esses aplicativos são fornecidos como plug-ins de navegador ou como uma máquina virtual e são usados ​​para transformar aplicativos estáticos tradicionais em aplicativos mais aprimorados, fluidos, animados e envolventes.

Ao contrário dos aplicativos de desktop tradicionais, os RIAs não exigem nenhum software adicional para serem executados. Como alternativa, você deve instalar softwares como ActiveX, Java, Flash, dependendo do Aplicativo.

Em um RIA, a apresentação gráfica é tratada no lado do cliente, pois tem um plugin que fornece suporte para gráficos ricos. Em suma, a manipulação de dados em uma RIA é realizada no lado do servidor, enquanto a manipulação de objetos relacionados é realizada no lado do cliente.

Temos três tecnologias principais com as quais podemos desenvolver um RIA. Isso inclui o seguinte -

  • Adobe Flash
  • Microsoft Silverlight
  • JavaFX

Adobe Flash

Esta plataforma de software foi desenvolvida pela Adobe Systems e é usada na criação de Rich Internet Applications. Junto com eles, você também pode construir outros aplicativos, como vetor, animação, jogos de navegador, aplicativos de desktop, aplicativos móveis e jogos, etc.

Esta é a plataforma mais comumente usada para desenvolver e executar RIAs com uma taxa de penetração do navegador de desktop de 96%.

Microsoft Silverlight

Assim como o Adobe Flash, o Microsoft Silverlight também é uma estrutura de aplicativo de software para desenvolver e executar aplicativos avançados para Internet. Inicialmente, essa estrutura foi usada para streaming de mídia. As versões atuais também suportam multimídia, gráficos e animação.

Esta plataforma raramente é usada com uma taxa de penetração do navegador de desktop de 66%.

JavaFX

JavaFX é uma biblioteca Java com a qual você pode desenvolver aplicativos rich para a Internet. Usando a tecnologia Java, esses aplicativos têm uma taxa de penetração do navegador de 76%.

O que é JavaFX?

JavaFX é uma biblioteca Java usada para construir aplicativos de Internet ricos. Os aplicativos escritos com esta biblioteca podem ser executados de forma consistente em várias plataformas. Os aplicativos desenvolvidos com JavaFX podem ser executados em vários dispositivos, como computadores desktop, telefones celulares, TVs, tablets, etc.

Desenvolver GUI Applications usando a linguagem de programação Java, os programadores contam com bibliotecas como Advanced Windowing Toolkit e Swing. Após o advento do JavaFX, esses programadores Java agora podem desenvolver aplicativos GUI de forma eficaz com conteúdo rico.

Necessidade de JavaFX

Desenvolver Client Side Applicationscom recursos ricos, os programadores costumavam depender de várias bibliotecas para adicionar recursos, como mídia, controles de interface do usuário, Web, 2D e 3D, etc. O JavaFX inclui todos esses recursos em uma única biblioteca. Além disso, os desenvolvedores também podem acessar os recursos existentes de uma biblioteca Java, comoSwing.

JavaFX fornece um rico conjunto de APIs de gráficos e mídia e alavanca o moderno Graphical Processing Unitatravés de gráficos acelerados por hardware. O JavaFX também fornece interfaces nas quais os desenvolvedores podem combinar animação gráfica e controle de IU.

Pode-se usar JavaFX com tecnologias baseadas em JVM, como Java, Groovy e JRuby. Se os desenvolvedores optarem pelo JavaFX, não há necessidade de aprender tecnologias adicionais, pois o conhecimento prévio de qualquer uma das tecnologias mencionadas acima será bom o suficiente para desenvolver RIAs usando JavaFX.

Recursos do JavaFX

A seguir estão alguns dos recursos importantes do JavaFX -

  • Written in Java - A biblioteca JavaFX é escrita em Java e está disponível para as linguagens que podem ser executadas em um JVM, que incluem - Java, Groovy and JRuby. Esses aplicativos JavaFX também são independentes de plataforma.

  • FXML- JavaFX apresenta uma linguagem conhecida como FXML, que é uma linguagem de marcação declarativa semelhante a HTML. O único propósito deste idioma é definir uma interface de usuário.

  • Scene Builder- JavaFX fornece um aplicativo denominado Scene Builder. Ao integrar este aplicativo em IDE, como Eclipse e NetBeans, os usuários podem acessar uma interface de design de arrastar e soltar, que é usada para desenvolver aplicativos FXML (como os aplicativos Swing Drag & Drop e DreamWeaver).

  • Swing Interoperability - Em um aplicativo JavaFX, você pode incorporar conteúdo Swing usando o Swing Nodeclasse. Da mesma forma, você pode atualizar os aplicativos Swing existentes com recursos JavaFX, como conteúdo da Web incorporado e mídia gráfica rica.

  • Built-in UI controls - A biblioteca JavaFX atende controles de IU, usando os quais podemos desenvolver um aplicativo completo.

  • CSS like Styling- JavaFX fornece um estilo semelhante ao CSS. Usando isso, você pode melhorar o design do seu aplicativo com um simples conhecimento de CSS.

  • Canvas and Printing API- JavaFX fornece Canvas, um estilo de modo imediato de API de renderização. Dentro da embalagemjavafx.scene.canvasele contém um conjunto de classes para tela, com as quais podemos desenhar diretamente em uma área da cena JavaFX. JavaFX também fornece classes para fins de impressão no pacotejavafx.print.

  • Rich set of API’s- A biblioteca JavaFX fornece um rico conjunto de APIs para desenvolver aplicativos GUI, gráficos 2D e 3D, etc. Este conjunto de APIs também inclui recursos da plataforma Java. Portanto, usando esta API, você pode acessar os recursos das linguagens Java, como Genéricos, Anotações, Multithreading e Expressões Lambda. A biblioteca tradicional de Coleções Java foi aprimorada e conceitos como listas observáveis ​​e mapas foram incluídos nela. Usando estes, os usuários podem observar as mudanças nos modelos de dados.

  • Integrated Graphics library - JavaFX fornece classes para 2d e 3d gráficos.

  • Graphics pipeline- JavaFX oferece suporte a gráficos baseados no pipeline de gráficos acelerado por hardware conhecido como Prism. Quando usado com uma placa gráfica ou GPU compatível, oferece gráficos suaves. Caso o sistema não suporte placa gráfica, o prisma assume como padrão a pilha de renderização do software.

História do JavaFX

JavaFX foi originalmente desenvolvido por Chris Oliver, quando trabalhava para uma empresa chamada See Beyond Technology Corporation, que mais tarde foi adquirido por Sun Microsystems no ano de 2005.

Os pontos a seguir nos fornecem mais informações sobre este projeto -

  • Inicialmente, este projeto foi denominado como F3 (Form Follows Functions) e foi desenvolvido com a intenção de fornecer interfaces mais ricas para o desenvolvimento de aplicativos GUI.

  • Sun Microsystems adquiriu a empresa See Beyond em junho de 2005, adaptou o projeto F3 como JavaFX.

  • No ano de 2007, o JavaFX foi anunciado oficialmente em Java One, uma conferência na world wide web que é realizada anualmente.

  • No ano de 2008, Net Beansintegrado com JavaFX estava disponível. No mesmo ano, o JavaStandard Development Kit para JavaFX 1.0 foi lançado.

  • No ano de 2009, a Oracle Corporation adquiriu a Sun Microsystems e no mesmo ano a próxima versão do JavaFX (1.2) foi lançada também.

  • No ano de 2010, o JavaFX 1.3 foi lançado e no ano de 2011 o JavaFX 2.0 foi lançado.

  • A versão mais recente, JavaFX8, foi lançada como parte integrante do Java em 18 de março de 2014.