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

JavaFX - Uma visão Geral

Embed Size (px)

DESCRIPTION

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

Citation preview

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)