JavaFX - Uma visão Geral

25
JAVAFX IFRN TECNOLOGIA EM DESENVOLVIMENTO DE SISTEMAS EDER CARLOS DE OLIVEIRA NOGUEIRA NATAL, AGOSTO DE 2008

description

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

Transcript of JavaFX - Uma visão Geral

Page 1: JavaFX - Uma visão Geral

JAVAFX

IFRNTECNOLOGIA EM DESENVOLVIMENTO DE SISTEMAS

EDER CARLOS DE OLIVEIRA NOGUEIRANATAL, AGOSTO DE 2008

Page 2: JavaFX - Uma visão Geral

Sumário Introdução Interfaces Gráficas

Ambiente Desktop Ambiente Web Dispositivos Móveis

Interfaces Gráficas em Java Pontos Fracos Pontos Fortes

Page 3: JavaFX - Uma visão Geral

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

Page 4: JavaFX - Uma visão Geral

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.

Page 5: JavaFX - Uma visão Geral

Parte 01PRINCIPAIS ASPECTOS DA TECNOLOGIA

Page 6: JavaFX - Uma visão Geral

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)

Page 7: JavaFX - Uma visão Geral
Page 8: JavaFX - Uma visão Geral
Page 9: JavaFX - Uma visão Geral

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)

Page 10: JavaFX - Uma visão Geral

Interfaces Gráficas Ambiente Web

Page 11: JavaFX - Uma visão Geral

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);

Page 12: JavaFX - Uma visão Geral

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.;

Page 13: JavaFX - Uma visão Geral

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;

Page 14: JavaFX - Uma visão Geral

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;

Page 15: JavaFX - Uma visão Geral

Interfaces Gráficas em Java

Page 16: JavaFX - Uma visão Geral

Interfaces Gráficas em Java

Page 17: JavaFX - Uma visão Geral

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;

Page 18: JavaFX - Uma visão Geral

Onde entra o JavaFX?

Page 19: JavaFX - Uma visão Geral

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!

Page 20: JavaFX - Uma visão Geral

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.

Page 21: JavaFX - Uma visão Geral

JavaFX Script

Page 22: JavaFX - Uma visão Geral

Parte 2Aspectos Principais da Sintaxe de JavaFX

Script

Page 23: JavaFX - Uma visão Geral

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.

Page 24: JavaFX - Uma visão Geral

Influências da Programação Declarativa

Page 25: JavaFX - Uma visão Geral

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)