Upload
carlos-delaney
View
40
Download
0
Embed Size (px)
DESCRIPTION
JavaFX. Rafael W. Frasson Danilo Felicio Jr. João Otávio Dambrós Dezanet. INE5612 – Desenvolvimento de Sistemas Orientados a Objetos II. O que é JavaFX?. JavaFX é uma plataforma de software multimídia baseada em java para criação de RIA - Rich Internet Applications (Internet Rica). - PowerPoint PPT Presentation
Citation preview
JavaFXJavaFX
Rafael W. FrassonRafael W. Frasson
Danilo Felicio Jr.Danilo Felicio Jr.
João Otávio Dambrós DezanetJoão Otávio Dambrós Dezanet
INE5612 – Desenvolvimento de Sistemas Orientados a Objetos II
O que é JavaFX?
JavaFX é uma plataforma de software multimídia baseada em java para criação de RIA - Rich Internet Applications (Internet Rica).
Internet Rica? Como assim? O que seria?
Primeiramente, explicarei o que é uma Internet Rica…
Rich Internet Application (RIA)
De modo geral aplicacões RIA unem a funcionalidade dos softwares com o extenso alcance e facilidades econômicas de aplicativos para internet.
É um conceito inovador no modo de pensar e desenvolver na web.
Proporciona um novo nível de experiências para usuários e desenvolvedores.
A tecnologia RIA fornece um ambiente dinâmico com capacidade de manusear aplicativos de forma bastante interativa.
JavaFX
A Sun Microsystems é responsável pelo desenvolvimento do JavaFX, baseado na tecnologia Java e concebido para proporcionar uma maior interatividade. Já possui uma vasta variedade de aplicações em dispositivos, incluindo computadores pessoais, conversores(set-top boxes), dispositivos móveis e dispositivos que usam a tecnologia Blu-Ray.
JavaFX Script
Criado pelo engenheiro da Sun Chris Oliver, possibilita o desenvolvimento rápido de interfaces Swing/AWT/Java2D de forma mais fácil do que hoje.
A idéia da Sun é não só atacar o mercado Desktop, onde o Java tem ganho certo mercado ultimamente, mas também atacar o Adobe Flex e o MS Silverlight no mercado de Rich Internet Applications, as RIAs.
JavaFX Mobile
É um novo sistema operacional baseado no kernel do Linux e com uma JVM portátil que pretende levar o Java ao novo mercado dos Smartphones.
Seria voltado ao desenvolvimento fácil de aplicativos bonitos e usáveis em ambiente móvel.
O que eu crio com JavaFX?
Você pode criar interfaces com o usuário em JavaFX, animações, jogos, applets, e muito mais, com somente uma linguagem!
Além de JavaFX ser multiplataforma e portátil como o Java
JavaFX é outra linguagem?
Sim. A sintaxe de JavaFX é novidade, é chamada "declarativa". Quer dizer que você pode criar aplicativos sem usar variáveis, somente declarando um objeto dentro do outro.
JavaFX é compatível com Java?
Praticamente 100%.
Se você tem uma aplicação em Java funcionando, você pode usar as classes com JavaFX. Esta é uma das maiores vantagens de JavaFX.
Há algo pronto em JavaFX?
Muita movimentação da comunidade está sendo feita. JFXtras, Griffon, CRUDFx entre outros são exemplos.
Por que não vejo material sobre JavaFX tanto quanto em Java?
Parece óbvio, mas é uma dúvida comum, pois JavaFX promete muito, mas a ausência de material está no fato de JavaFX ainda estar na adolescência.
Por que as empresas não adotam JavaFX de cara?
A linguagem está evoluindo, da versão 1.1 para a 1.2 muitas mudanças aconteceram.
Palavras chaves foram removidas, novas classes adicionadas entre outros.
A tendência é a evolução continuar, assim, é normal uma espera das empresas e sites para aderirem a tecnologia, mas tenha certeza que todos estão de olho!
Características do JavaFX
É uma linguagem baseada no conceito de perfil comum para permitir facilmente sua disseminação através de dispositivos que a suportam.
Esse conceito permite o desenvolvimento de aplicações tanto para dispositivos móveis quanto para desktop.
Características do JavaFX
O modelo “Drag to Install” permite ao usuário final arrastar aplicações JavaFX de web browsers para o desktop mantendo o contexto original mesmo se o browser for fechado.
A aplicação também pode ser reiniciada através de um atalho que é automaticamente criado na área de trabalho.
Características do JavaFX
A linguagem conta com diversos plug-ins que permitem a integração de imagens vindas de diversos programas, como Photoshop e Illustrator.
É gerado um script code que preserva as camadas e estruturas da imagem, mantendo a integridade do arquivo original.
Estrutura do JavaFX
A sintaxe declarativa do JavaFX permite construir certos aplicativos sem usar sequer uma variável, por exemplo:
Estrutura do JavaFX
Apesar de ser baseada em Java, a sintaxe do JavaFX traz algumas melhorias, como o uso de Binding.
O Bind associa uma variável com uma expressão, que pode ser uma simples variável ou até uma função:
Estrutura do JavaFX
Com o Bind, a variável y sempre estará associada à x, e será impossível modificá-la singularmente. Afetando o valor de x causa uma alteração direta em y.
O Binding pode ser usado com variáveis, objetos, funções, expressões e até sequências.
Estrutura do JavaFX
Juntamente de triggers, o Bind permite um melhor desenvolvimento de jogos e animações além de melhorar a visibilidade e facilitar a leitura do código.
Estrutura do JavaFX
Declaração de variáveis:
Não existem tipos primitivos. Existem “tipos de valor”, que são objetos derivados da classe Object
“Tipos de valor” não admitem null
Não existe o tipo char em JavaFX Script, apenas String
Estrutura do JavaFX
Declaração de variáveis: var ou def
var x // ilegal
var x : // Integer Inicializada com zero
var x = 5var x : Integer = 5
-> def não pode ser inicializado sem valor
Estrutura do JavaFX
Declaração de variáveis: Durantion
Duration é um “tipo de valor” que representa uma quantidade de tempo
var a: Duration = 10s;var b: Duration = 250ms;
Estrutura do JavaFX
Sequences
Sequences são o equivalente aos arrays do Java
Não permitem aninhamento
def dias : String[] = [ "Dom", "Seg", "Ter" ]def dias = [ "Dom", "Seg", "Ter" ]
Estrutura do JavaFX
Functions
Functions são equivalentes aos métodos do Java
function a( param : Tipo, param2 : Tipo ) : tipoDoRetorno { }
Estrutura do JavaFX
Declaração de blocos dentro de uma String
var verdade = true; println("Sua afirmação é {if(verdade) 'verdadeira' else
'false'}")
Estrutura do JavaFX
Classes JavaFX
Não tem construtores
class Pessoa { var nome : String; var sobrenome : String; function nomeCompleto () { "{nome}{sobrenome}" }}
Estrutura do JavaFX
JavaFX x Java
Hello World em Java:
JavaFX x Java
Hello World em JavaFX Script:
JavaFX
Criando a janela da aplicação:
Stage { title: "Hello World JavaFX" ... width:400 height:100}
A classe Stage é necessária para desenhar uma janela;
Stage é um container independente;
As palavras title, visible, width, height, etc, são chamadas de variáveis de instância.
JavaFX
Configurando o objeto Scene:scene: Scene { content: Text { content: "Hello World!" font: Font { size: 30 } layoutX: 114 layoutY: 45
}
O objeto Scene é responsável por exibir o conteúdo gráfico da aplicação, o que inclui objetos de texto, linhas, círculos, botões e etc;
É um container para o SceneGraph.
JavaFX
O objeto scene possui uma variável chamada content que é utilizada para manter os nós da aplicação;
Existem vários tipos de nós, como objetos gráficos, textos e componentes de GUI, objetos de mídia, etc;
Cada nó pode ser transformado e animado;
É possível aplicar diferentes tipos de efeitos a cada nó;
Um nó do tipo Group é um Sequence de nós filhos. Qualquer efeito ou transformação aplicada ao Group será aplicada a todos os nós filhos.
JavaFX
content: [ Rectangle { ...propriedades... },
Circle { ...propriedades... }, Text { ...propriedades... }]
RectangleRectangle
CircleCircle
TEXTTEXT
Stage
Scene
JavaFX
Parte da API JavaFX
Fontes
http://download.oracle.com/javafx/index.html
http://openjfx.java.sun.com/current-build/doc/reference/JavaFXReference.html
http://download.oracle.com/docs/cd/E17802_01/javafx/javafx/1/docs/api/
http://www.javafx.com/
pt.wikipedia.org/wiki/JavaFX
http://javafree.uol.com.br/artigo/874587/Bind-em-JavaFX.html