JavaFX - Uma visão Geral

Post on 17-Dec-2014

138 views 4 download

description

Visão geral sobre JavaFX. Apresentação complementar ao TCC sobre JAVAFX.

Transcript of JavaFX - Uma visão Geral

JAVAFX

IFRNTECNOLOGIA EM DESENVOLVIMENTO DE SISTEMAS

EDER CARLOS DE OLIVEIRA NOGUEIRANATAL, AGOSTO DE 2008

Sumário Introdução Interfaces Gráficas

Ambiente Desktop Ambiente Web Dispositivos Móveis

Interfaces Gráficas em Java Pontos Fracos Pontos Fortes

Sumário Onde entra o JavaFX?

JavaFX Mobile JavaFX Script

O Foco: JavaFX Script Sintaxe: Influências da Programação Declarativa Resultados: RIA, Produtividade e Portabilidade Exemplos Práticos

Conclusões

Introdução O objetivo geral deste trabalho é

apresentar o paradigma de programação declarativa na construção de interfaces gráficas, usando a tecnologia JavaFX e sua linguagem de script JavaFX Script.

Parte 01PRINCIPAIS ASPECTOS DA TECNOLOGIA

Interfaces Gráficas Ambiente Desktop

A nível de Usuário, há uma crescente necessidade de maior interatividade e migração de “front-ends” para a Internet;

A nível de Desenvolvedor, existe uma demanda por mais produtividade e código mais “enxuto”;

Principais tecnologias voltadas para o desenvolvimento Desktop: C++,Delphi,.Net, VB, etc.;

(Inserir Figuras)

Interfaces Gráficas Ambiente Web

O conteúdo HTML há muito deixou de ser apenas estático e passou a ser dinâmico e interativo;

A consolidação das RIA’s (Rich Internet Applications) aumentou a disputa, e conseqüentemente, surgimento de várias tecnologias neste mercado (Vide Figura 2);

“Duas características chaves: são “ricas” e são “clientes”. “Rica” refere-se ao modelo de interação do cliente. Um modelo de interação rica com o usuário é aquele que suporte uma variedade de métodos de entrada e que responda intuitivamente e de forma oportuna. (...) É um “cliente”, pois se trata de um programa que se comunica com um processo exclusivo e independente, tipicamente rodando no servidor. Os clientes permitem os usuários finais verem e modificarem informações, e se muitos são os clientes conectados ao servidor, este permite então compartilhar os dados requisitados. ”(Grane, Passarelo e James, 2005)

Interfaces Gráficas Ambiente Web

Interfaces Gráficas Ambiente Web

AJAX (Asynchronous Javascript And XML): é composto por um conjunto de soluções (XHTML, CSS, DOM, XML, XSLT, HttpXMLRequest) e o já conhecido JavaScript;

Silverlight: Criada pela Microsoft possui funcionalidades como: Uso de XML próprio para construção de interfaces (XAML), interação com WebServices, Tratamento de Mídia, 2D, Animação, entre outros. É componente da plataforma .NET ;

Adobe Flex: É a solução mais adotada, com presença do Flash Player em 98% dos computadores de todo o mundo;Utiliza-se de linguagem própria, ActionScript (hoje se encontra na versão 3);

Interfaces Gráficas Dispositivos Móveis

Dominado pela plataforma Java, sob a ótica Java ME;

Surgimento de dispositivos mais sofisticados (IPhone,por exemplo), sente-se uma necessidade por interfaces ricas;

Migração de várias tecnologias web para este ambiente: AJAX, Silverlight, etc.;

Interfaces Gráficas em Java Pontos Fracos

Pouca Produtividade de sua biblioteca AWT/SWING/2D;

Falta de boas ferramentas para desenvolvimento visual: o Flash só é o que é hoje porque atacou o mercado dos designers e desenhistas antes de se preocupar com os programadores ;

Fracasso dos Applets na Web: Os Applets foram a primeira tentativa da Sun de atacar o mercado de RIA’s lá no começo da década de 90, mas Java não vingou nesse mercado.

O tamanho da JRE: enquanto o plugin Flash Player tem aproximadamente 3MB, a menor versão da JRE é de 7MB;

Tempo de Compilação;

Interfaces Gráficas em Java Pontos Fortes

91% de todos os PCs rodam plataforma Java e 77% destes rodam a Sun’s Java Platform, Standard Edition (Java SE) com quantidade de downloads considerável (Vide Próximo Slide)

JSP/JSF: O ambiente Web já conta com esta solução sob a ótica JCP (Java Comunnity Process);

Lançamento do Scripiting Framework (JSR-223) que permite que a JVM compile vários tipos de linguagem de script (Vide próximo slide). Linguagens já suportadas pela JVM: JRuby e JavaFX;

Interfaces Gráficas em Java

Interfaces Gráficas em Java

Onde entra o JavaFX? Família de tecnologias voltadas para o

desenvolvimento de interfaces ricas para ambiente Desktop, Web e Dispositivos móveis;

Lançado no JavaOne 2007, tem como metas principais: Atacar o mercado de RIA’s, Desktop, Web e

Dispositivos Móveis; É composto por duas tecnologias principais: JavaFX

Mobile e JavaFX Script; Portabilidade;

Onde entra o JavaFX?

JavaFX Mobile Sistema Operacional

baseado no kernel do Linux;

Convergência J2SE e J2ME Plataforma Java SE popular

entre desenvolvedores; JavaFX Mobile inclui

implementações Swing e 2D;

Conclusão: Plataforma Java SE e Swing No Celular!

JavaFX Script Anteriormente chamada de F3 por seu criador,

Chris Oliver, é uma linguagem orientada a objetos com sintaxe declarativa voltada para o desenvolvimento de conteúdo rico e interativo em ambiente Desktop,Web ou dispositivo móvel;

Aspectos Principais: Orientada a Objeto; Estaticamente tipada; Sintaxe declarativa; Aumento da Produtividade do desenvolvedor; Torna a programação em GUI Java mais simples; Trabalha com as principais IDE’s: Eclipse, NetBeans.

JavaFX Script

Parte 2Aspectos Principais da Sintaxe de JavaFX

Script

Influências da Programação Declarativa As linguagens funcionais, tal como as

linguagens lógicas, pertencem à classe das linguagens declarativas. Estas, contrariamente às linguagens imperativas , englobam numa só as noções de programa e de especificação: um programa é uma especificação executável.

Exemplos de linguagens declarativas: Haskel, Lisp, Prolog;

Exemplos de linguagens com aspectos declarativos: XML, SQL.

Influências da Programação Declarativa

Sintaxe JavaFX suporta quatro tipos de dados:

String (equivalente a Java.lang.String) Boolean (equivalente a Java.lang.Boolean) Integer (equivalente a Java.lang.Integer) Number (equivalente a Java.lang.Number)