SlideShare una empresa de Scribd logo
1 de 25
IFRN
TECNOLOGIA EM DESENVOLVIMENTO DE SISTEMAS
EDER CARLOS DE OLIVEIRA NOGUEIRA
NATAL, AGOSTO DE 2008
Sumário
 Introdução
 Interfaces Gráficas
 Ambiente Desktop
 Ambiente Web
 Dispositivos Móveis
 Interfaces Gráficas em Java
 Pontos Fracos
 Pontos Fortes
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
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.
PRINCIPAIS ASPECTOS DA TECNOLOGIA
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)
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)
Interfaces Gráficas
 Ambiente Web
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);
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.;
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;
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;
Interfaces Gráficas em Java
Interfaces Gráficas em Java
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;
Onde entra o JavaFX?
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!
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.
JavaFX Script
Aspectos Principais da Sintaxe de JavaFX Script
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.
Influências da Programação
Declarativa
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)

Más contenido relacionado

La actualidad más candente

Various Table Partitioning in SAP HANA
Various Table Partitioning in SAP HANAVarious Table Partitioning in SAP HANA
Various Table Partitioning in SAP HANADebajit Banerjee
 
Full Stack Web Development
Full Stack Web DevelopmentFull Stack Web Development
Full Stack Web DevelopmentSWAGATHCHOWDARY1
 
Understand front end developer
Understand front end developerUnderstand front end developer
Understand front end developerHsuan Fu Lien
 
Apache Kafka and Blockchain - Comparison and a Kafka-native Implementation
Apache Kafka and Blockchain - Comparison and a Kafka-native ImplementationApache Kafka and Blockchain - Comparison and a Kafka-native Implementation
Apache Kafka and Blockchain - Comparison and a Kafka-native ImplementationKai Wähner
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Yuichi Hasegawa
 
Hadoop summit - Scaling Uber’s Real-Time Infra for Trillion Events per Day
Hadoop summit - Scaling Uber’s Real-Time Infra for  Trillion Events per DayHadoop summit - Scaling Uber’s Real-Time Infra for  Trillion Events per Day
Hadoop summit - Scaling Uber’s Real-Time Infra for Trillion Events per DayAnkur Bansal
 
Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaJorge Pacheco Mengual
 
Introduction to Spring webflux
Introduction to Spring webfluxIntroduction to Spring webflux
Introduction to Spring webfluxKnoldus Inc.
 
webdevelopmentppt-210923044639 (1).pptx
webdevelopmentppt-210923044639 (1).pptxwebdevelopmentppt-210923044639 (1).pptx
webdevelopmentppt-210923044639 (1).pptxlearnEnglish51
 
How To be a Backend developer
How To be a Backend developer    How To be a Backend developer
How To be a Backend developer Ramy Hakam
 
Designing applications with web access capabilities
Designing applications with web access capabilitiesDesigning applications with web access capabilities
Designing applications with web access capabilitiesK Senthil Kumar
 
Power vc for powervm deep dive tips & tricks
Power vc for powervm deep dive tips & tricksPower vc for powervm deep dive tips & tricks
Power vc for powervm deep dive tips & trickssolarisyougood
 
コロナ禍での白井データセンターキャンパスの運用施策
コロナ禍での白井データセンターキャンパスの運用施策コロナ禍での白井データセンターキャンパスの運用施策
コロナ禍での白井データセンターキャンパスの運用施策IIJ
 
Real Time UI with Apache Kafka Streaming Analytics of Fast Data and Server Push
Real Time UI with Apache Kafka Streaming Analytics of Fast Data and Server PushReal Time UI with Apache Kafka Streaming Analytics of Fast Data and Server Push
Real Time UI with Apache Kafka Streaming Analytics of Fast Data and Server PushLucas Jellema
 
Kafka streams windowing behind the curtain
Kafka streams windowing behind the curtain Kafka streams windowing behind the curtain
Kafka streams windowing behind the curtain confluent
 
Microservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka EcosystemMicroservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka Ecosystemconfluent
 

La actualidad más candente (20)

Various Table Partitioning in SAP HANA
Various Table Partitioning in SAP HANAVarious Table Partitioning in SAP HANA
Various Table Partitioning in SAP HANA
 
Full Stack Web Development
Full Stack Web DevelopmentFull Stack Web Development
Full Stack Web Development
 
Understand front end developer
Understand front end developerUnderstand front end developer
Understand front end developer
 
Apache Kafka and Blockchain - Comparison and a Kafka-native Implementation
Apache Kafka and Blockchain - Comparison and a Kafka-native ImplementationApache Kafka and Blockchain - Comparison and a Kafka-native Implementation
Apache Kafka and Blockchain - Comparison and a Kafka-native Implementation
 
Red Hat Satellite
Red Hat SatelliteRed Hat Satellite
Red Hat Satellite
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
 
Reactive programming intro
Reactive programming introReactive programming intro
Reactive programming intro
 
Hadoop summit - Scaling Uber’s Real-Time Infra for Trillion Events per Day
Hadoop summit - Scaling Uber’s Real-Time Infra for  Trillion Events per DayHadoop summit - Scaling Uber’s Real-Time Infra for  Trillion Events per Day
Hadoop summit - Scaling Uber’s Real-Time Infra for Trillion Events per Day
 
Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en Autentia
 
Introduction to Spring webflux
Introduction to Spring webfluxIntroduction to Spring webflux
Introduction to Spring webflux
 
webdevelopmentppt-210923044639 (1).pptx
webdevelopmentppt-210923044639 (1).pptxwebdevelopmentppt-210923044639 (1).pptx
webdevelopmentppt-210923044639 (1).pptx
 
How To be a Backend developer
How To be a Backend developer    How To be a Backend developer
How To be a Backend developer
 
Designing applications with web access capabilities
Designing applications with web access capabilitiesDesigning applications with web access capabilities
Designing applications with web access capabilities
 
Spring Webflux
Spring WebfluxSpring Webflux
Spring Webflux
 
Power vc for powervm deep dive tips & tricks
Power vc for powervm deep dive tips & tricksPower vc for powervm deep dive tips & tricks
Power vc for powervm deep dive tips & tricks
 
コロナ禍での白井データセンターキャンパスの運用施策
コロナ禍での白井データセンターキャンパスの運用施策コロナ禍での白井データセンターキャンパスの運用施策
コロナ禍での白井データセンターキャンパスの運用施策
 
Real Time UI with Apache Kafka Streaming Analytics of Fast Data and Server Push
Real Time UI with Apache Kafka Streaming Analytics of Fast Data and Server PushReal Time UI with Apache Kafka Streaming Analytics of Fast Data and Server Push
Real Time UI with Apache Kafka Streaming Analytics of Fast Data and Server Push
 
Kafka streams windowing behind the curtain
Kafka streams windowing behind the curtain Kafka streams windowing behind the curtain
Kafka streams windowing behind the curtain
 
JDK: 新しいリリースモデル解説(ver.2.1)
JDK: 新しいリリースモデル解説(ver.2.1)JDK: 新しいリリースモデル解説(ver.2.1)
JDK: 新しいリリースモデル解説(ver.2.1)
 
Microservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka EcosystemMicroservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka Ecosystem
 

Destacado

Destacado (6)

Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Apresentação-Resumo sobre o Java Swing.
Apresentação-Resumo sobre o Java Swing.Apresentação-Resumo sobre o Java Swing.
Apresentação-Resumo sobre o Java Swing.
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
Exercicios - Java Swing
Exercicios - Java SwingExercicios - Java Swing
Exercicios - Java Swing
 
Java interface gráfica swing
Java   interface gráfica swingJava   interface gráfica swing
Java interface gráfica swing
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 

Similar a JavaFX - Uma visão Geral

Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Aécio Costa
 
Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2Claudiney Marques
 
WebSphere 8 Intro (pt-BR)
WebSphere 8 Intro (pt-BR)WebSphere 8 Intro (pt-BR)
WebSphere 8 Intro (pt-BR)Juarez Junior
 
Conhecendo Java
Conhecendo JavaConhecendo Java
Conhecendo JavaTI Infnet
 
Tutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com JavaTutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com JavaPaulo César M Jeveaux
 
Palestra Sepai Alfredofurtado Introducao Ao Javafx
Palestra Sepai Alfredofurtado Introducao Ao JavafxPalestra Sepai Alfredofurtado Introducao Ao Javafx
Palestra Sepai Alfredofurtado Introducao Ao Javafxalfredofurtado
 
Desenvolvimento Ria com Java
Desenvolvimento Ria com JavaDesenvolvimento Ria com Java
Desenvolvimento Ria com JavaTI Infnet
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
 
Desenvolvimento RIA com Java
Desenvolvimento RIA com JavaDesenvolvimento RIA com Java
Desenvolvimento RIA com Javaarmeniocardoso
 
Java No Mundo Real
Java No Mundo RealJava No Mundo Real
Java No Mundo RealSaulo Arruda
 
Projetos Mono e Moonlight
Projetos Mono e MoonlightProjetos Mono e Moonlight
Projetos Mono e MoonlightPedro Alves Jr.
 
RIA e Flex - Dando formas à Inovação
RIA e Flex - Dando formas à InovaçãoRIA e Flex - Dando formas à Inovação
RIA e Flex - Dando formas à InovaçãoLeonardo Braga
 
Curso Android - Dia 1 - Apresentação java
Curso Android - Dia 1 - Apresentação javaCurso Android - Dia 1 - Apresentação java
Curso Android - Dia 1 - Apresentação javaAlex Braz
 
Capacitacao java aula-01-01-conceitos
Capacitacao java aula-01-01-conceitosCapacitacao java aula-01-01-conceitos
Capacitacao java aula-01-01-conceitosEliete Regina Souza
 

Similar a JavaFX - Uma visão Geral (20)

Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!
 
Java -aula_01
Java  -aula_01Java  -aula_01
Java -aula_01
 
Javafx
JavafxJavafx
Javafx
 
Ria e Java FX
Ria e Java FXRia e Java FX
Ria e Java FX
 
Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2
 
WebSphere 8 Intro (pt-BR)
WebSphere 8 Intro (pt-BR)WebSphere 8 Intro (pt-BR)
WebSphere 8 Intro (pt-BR)
 
Conhecendo Java
Conhecendo JavaConhecendo Java
Conhecendo Java
 
Tutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com JavaTutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com Java
 
Palestra Sepai Alfredofurtado Introducao Ao Javafx
Palestra Sepai Alfredofurtado Introducao Ao JavafxPalestra Sepai Alfredofurtado Introducao Ao Javafx
Palestra Sepai Alfredofurtado Introducao Ao Javafx
 
Desenvolvimento Ria com Java
Desenvolvimento Ria com JavaDesenvolvimento Ria com Java
Desenvolvimento Ria com Java
 
Rich Internet Applications
Rich Internet ApplicationsRich Internet Applications
Rich Internet Applications
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 
Desenvolvimento RIA com Java
Desenvolvimento RIA com JavaDesenvolvimento RIA com Java
Desenvolvimento RIA com Java
 
Java No Mundo Real
Java No Mundo RealJava No Mundo Real
Java No Mundo Real
 
Silverlight
SilverlightSilverlight
Silverlight
 
Projetos Mono e Moonlight
Projetos Mono e MoonlightProjetos Mono e Moonlight
Projetos Mono e Moonlight
 
RIA e Flex - Dando formas à Inovação
RIA e Flex - Dando formas à InovaçãoRIA e Flex - Dando formas à Inovação
RIA e Flex - Dando formas à Inovação
 
Curso Android - Dia 1 - Apresentação java
Curso Android - Dia 1 - Apresentação javaCurso Android - Dia 1 - Apresentação java
Curso Android - Dia 1 - Apresentação java
 
Capacitacao java aula-01-01-conceitos
Capacitacao java aula-01-01-conceitosCapacitacao java aula-01-01-conceitos
Capacitacao java aula-01-01-conceitos
 
Java 01 Java Visao Geral
Java 01 Java Visao GeralJava 01 Java Visao Geral
Java 01 Java Visao Geral
 

Más de Eder Nogueira

DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YII
DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YII DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YII
DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YII Eder Nogueira
 
DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YII
DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YIIDETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YII
DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YIIEder Nogueira
 
Títulos de Renda Fixa
Títulos de Renda FixaTítulos de Renda Fixa
Títulos de Renda FixaEder Nogueira
 
HIstóricos e Causas da Inflação
HIstóricos e Causas da InflaçãoHIstóricos e Causas da Inflação
HIstóricos e Causas da InflaçãoEder Nogueira
 
Kant e a Ética do Dever
Kant e a Ética do DeverKant e a Ética do Dever
Kant e a Ética do DeverEder Nogueira
 
Projeto Político Pedagógico - Parte I - Versão FULL
Projeto Político Pedagógico - Parte I - Versão FULLProjeto Político Pedagógico - Parte I - Versão FULL
Projeto Político Pedagógico - Parte I - Versão FULLEder Nogueira
 
PROJETO POLÍTICO PEDAGÓGICO - DIAGNÓSTICO ESCOLAR
PROJETO POLÍTICO PEDAGÓGICO - DIAGNÓSTICO ESCOLARPROJETO POLÍTICO PEDAGÓGICO - DIAGNÓSTICO ESCOLAR
PROJETO POLÍTICO PEDAGÓGICO - DIAGNÓSTICO ESCOLAREder Nogueira
 
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - DOCENTES
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - DOCENTESATENDIMENTO EDUCACIONAL ESPECIALIZADO - DOCENTES
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - DOCENTESEder Nogueira
 
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - PAIS
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - PAISATENDIMENTO EDUCACIONAL ESPECIALIZADO - PAIS
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - PAISEder Nogueira
 
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ALUNOS
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ALUNOSAPRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ALUNOS
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ALUNOSEder Nogueira
 
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ESCOLA
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ESCOLAAPRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ESCOLA
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ESCOLAEder Nogueira
 
CERTIFICAÇÃO DE QUALIDADE: ISO
CERTIFICAÇÃO DE QUALIDADE: ISOCERTIFICAÇÃO DE QUALIDADE: ISO
CERTIFICAÇÃO DE QUALIDADE: ISOEder Nogueira
 
Ferramentas Colaborativas
Ferramentas ColaborativasFerramentas Colaborativas
Ferramentas ColaborativasEder Nogueira
 
Tutorial JBoss Seam
Tutorial JBoss Seam Tutorial JBoss Seam
Tutorial JBoss Seam Eder Nogueira
 
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...Eder Nogueira
 
Padrão de Projeto Mediator
Padrão de Projeto MediatorPadrão de Projeto Mediator
Padrão de Projeto MediatorEder Nogueira
 
JAVA MEDIA FRAMEWORK
JAVA MEDIA FRAMEWORKJAVA MEDIA FRAMEWORK
JAVA MEDIA FRAMEWORKEder Nogueira
 
PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...
PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...
PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...Eder Nogueira
 
Abordagem humanística da administração e decorrências da teoria das relações ...
Abordagem humanística da administração e decorrências da teoria das relações ...Abordagem humanística da administração e decorrências da teoria das relações ...
Abordagem humanística da administração e decorrências da teoria das relações ...Eder Nogueira
 

Más de Eder Nogueira (20)

COBIT 5
COBIT 5 COBIT 5
COBIT 5
 
DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YII
DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YII DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YII
DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YII
 
DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YII
DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YIIDETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YII
DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YII
 
Títulos de Renda Fixa
Títulos de Renda FixaTítulos de Renda Fixa
Títulos de Renda Fixa
 
HIstóricos e Causas da Inflação
HIstóricos e Causas da InflaçãoHIstóricos e Causas da Inflação
HIstóricos e Causas da Inflação
 
Kant e a Ética do Dever
Kant e a Ética do DeverKant e a Ética do Dever
Kant e a Ética do Dever
 
Projeto Político Pedagógico - Parte I - Versão FULL
Projeto Político Pedagógico - Parte I - Versão FULLProjeto Político Pedagógico - Parte I - Versão FULL
Projeto Político Pedagógico - Parte I - Versão FULL
 
PROJETO POLÍTICO PEDAGÓGICO - DIAGNÓSTICO ESCOLAR
PROJETO POLÍTICO PEDAGÓGICO - DIAGNÓSTICO ESCOLARPROJETO POLÍTICO PEDAGÓGICO - DIAGNÓSTICO ESCOLAR
PROJETO POLÍTICO PEDAGÓGICO - DIAGNÓSTICO ESCOLAR
 
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - DOCENTES
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - DOCENTESATENDIMENTO EDUCACIONAL ESPECIALIZADO - DOCENTES
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - DOCENTES
 
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - PAIS
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - PAISATENDIMENTO EDUCACIONAL ESPECIALIZADO - PAIS
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - PAIS
 
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ALUNOS
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ALUNOSAPRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ALUNOS
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ALUNOS
 
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ESCOLA
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ESCOLAAPRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ESCOLA
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ESCOLA
 
CERTIFICAÇÃO DE QUALIDADE: ISO
CERTIFICAÇÃO DE QUALIDADE: ISOCERTIFICAÇÃO DE QUALIDADE: ISO
CERTIFICAÇÃO DE QUALIDADE: ISO
 
Ferramentas Colaborativas
Ferramentas ColaborativasFerramentas Colaborativas
Ferramentas Colaborativas
 
Tutorial JBoss Seam
Tutorial JBoss Seam Tutorial JBoss Seam
Tutorial JBoss Seam
 
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
 
Padrão de Projeto Mediator
Padrão de Projeto MediatorPadrão de Projeto Mediator
Padrão de Projeto Mediator
 
JAVA MEDIA FRAMEWORK
JAVA MEDIA FRAMEWORKJAVA MEDIA FRAMEWORK
JAVA MEDIA FRAMEWORK
 
PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...
PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...
PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...
 
Abordagem humanística da administração e decorrências da teoria das relações ...
Abordagem humanística da administração e decorrências da teoria das relações ...Abordagem humanística da administração e decorrências da teoria das relações ...
Abordagem humanística da administração e decorrências da teoria das relações ...
 

JavaFX - Uma visão Geral

  • 1. IFRN TECNOLOGIA EM DESENVOLVIMENTO DE SISTEMAS EDER CARLOS DE OLIVEIRA NOGUEIRA NATAL, AGOSTO DE 2008
  • 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;
  • 18. Onde entra o JavaFX?
  • 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.
  • 22. Aspectos Principais da Sintaxe de JavaFX Script
  • 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)