O documento discute a linguagem JavaFX Script, que é uma linguagem orientada a objetos com sintaxe declarativa voltada para o desenvolvimento de interfaces gráficas ricas. A linguagem foi influenciada por programação declarativa e permite aumentar a produtividade do desenvolvedor ao tornar a programação em GUI Java mais simples. JavaFX Script pode ser usado para desenvolver aplicações para desktop, web e dispositivos móveis.
2. Sumário
Introdução
Interfaces Gráficas
Ambiente Desktop
Ambiente Web
Dispositivos Móveis
Interfaces Gráficas em Java
Pontos Fracos
Pontos Fortes
3. 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
4. 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.
6. 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)
7.
8.
9. 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)
11. 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);
12. 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.;
13. 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;
14. 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;
17. 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;
19. 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!
20. 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.
23. 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.
25. 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)