javafx

Post on 30-Dec-2015

40 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

TRANSCRIPT

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

top related