SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Java ME
         Sérgio Lopes
sergio.lopes@caelum.com.br
Java Micro Edition

•   Versão reduzida do Java

•   Dispositivos móveis
      •   celulares, pdas, set-top boxes, blue ray,
            impressoras, ...

      •   muitos aparelhos diferentes

•   Grande adoção no mercado
Java ME
• Configurations
   • CLDC
      • Connected Limited Device
         Configuration
   • CDC
      • Connected Device Configuration
Java ME

• Profiles
   • MIDP
   • Personal Profile
Java ME

• Extensões (proprietárias)
   • Nokia UI
   • ....
Java ME

• Extensões Oficiais
• Padronizadas pelo JCP
   • Bluetooth API (JSR82)
   • WMA (JSR 120 e 205)
   • MMAPI (JSR 135)
Java ME

• Mobile 3D Graphics (JSR 184)
• SVG (JSR 226 e 287)
• Payment API (JSR 229)
• Java TV
• ....
Mercado

• Java ME domina o mercado
• Outras tecnologias
    • Brew
    • Flash Lite
    • Symbian C++ e outros não portáveis
Mercado

• Maioria dos celulares tem Java ME
   • MIDP 2.0 é o mais comum
   • Última versão é MIDP 2.1 (N95 etc)
   • MIDP 3.0 já está em draft no JCP
Mercado

• Palmtops e Smartphones
   • Palm OS
   • Windows Mobile (ipaqs...)
   • Blackberry
Mercado

• Set-top box de TV Digital
   • Java TV
   • Mercado com maior potencial hoje
Desenvolvedor

• IDE
   • Eclipse + Eclipse ME
   • Netbeans + Mobility Pack
Desenvolvedor
• Toolkits e emuladores
   • Sun WTK
   • Nokia
   • Samsung
   • Siemens
   • Motorola
   • Blackberry
   • ....
Desenvolvedor


• Maioria das ferramentas são Windows-only
• Sun WTK tem para Linux
• MacOS X, Solaris, BSDs esquecidos :(
Facilidade

• Muito fácil de programar
• Ter poucos recursos limita mas facilita
• Diferenças entre dispositivos tratada pela
  VM
Portabilidade

• Dispositivos muito diferentes
   • tamanhos, cores, recursos,
      capacidades...
• ME tem que englobar todos
• Muitas diferenças de renderização
Demo
Nem tudo são flores

• Portável mas nem tanto
   • Celulares com bugs
   • Emuladores com bugs
   • Diferenças entre aparelhos
• Tem que testar sempre tudo = CUSTO!
Nem tudo são flores

• Competição acirrada
   • Flash Lite promete!
   • Silverlight Mobile
   • Plataformas fechadas
       • iPhone!
Futuro

• MIDP 3.0
• Mais extensões
• JavaFX Mobile
Obrigado!
Voltamos já!
Java FX
         Sérgio Lopes
sergio.lopes@caelum.com.br
Do que são feitos os
  Sites bonitos?
Do que são feitos os
  Sites bonitos?
       Java?
Porque o Flash é tão
popular e os Applets
        não?
Porque o Ajax é tão
popular e os Applets
        não?
Porque Swing e AWT
    não vingaram?
• Difícil de desenvolver
• Faltam ferramentas boas
• Java é lento
• É feio
• Ninguém tem Java
Java é lento?

• Era. Uns 10 anos atrás.
• Grande? JRE tem 12 MB
• Tempo de startup alto
Java é lento?

• Era. Uns 10 anos atrás.
• Grande? JRE tem 12 MB
• Tempo de startup alto
   Solução: Consumer JRE (coming soon)
Ninguém tem Java?

• 91% dos PCs do mundo têm Java
• 77% dos dispositivos têm Java
• 60% dos novos PCs já vem com Java
• Mac e Solaris vem com Java instalado
• Com OpenJDK, Linux deve vir em breve
Java é feio?
É difícil e faltam
  ferramentas
É difícil e faltam
  ferramentas
    Java FX !
Java FX

• Série de tecnologias para desenvolver RIAs
  (Rich Internet Applications)
• Java FX Script
• Java FX Mobile
Java FX

• Concorrer com
   • Adobe Flash, Flex, AIR
   • Microsoft Silverlight
   • Ajax etc
• É beta ainda!
Java FX Script

• Nova linguagem de programação
• Orientada a Objetos
• Sintaxe declarativa
• Poder do Java
Java FX Script

• Fácil.
   • Fácil de desenvolver
   • Fácil de criar ferramentas
Java FX Script
• Recursos BEM avançados
   • Facilita MVC
   • Data binding de Model com View
   • Programação funcional
   • Triggers
   • Animações
   • Queries em arrays
JavaFX Script

• Mesmos componentes do Swing padrão
• Permite uso de Java 2D, JMF, Java 3D e
  outros
• É Java! Reaproveito tudo
JavaFX Script


• Sintaxe bem diferente do Java normal
Hello World em Swing
import java.awt.*;
import javax.swing.*;

public class HelloSwing {

	   public static void main(String[] args) {

	
	
    	
    	
                             Text
        JFrame frame = new JFrame("Meu programa em Swing");
        JLabel label = new JLabel("Ol‡ Mundo");
	   	   Dimension d = new Dimension(300, 50);
	   	   frame.setSize(d);
	   	   frame.add(label);
	   	   frame.setVisible(true);

	   }
}
Hello World em JavaFX
    Frame {
    	 title: "Meu programa em javafx"
    	 width: 200
    	 height: 50
    	 visible: true
    	 content: Label {
    	 	 text: "Ol‡ mundo"
    	 }
    }
Um código mais complexo
 Frame {
     width: 300
     height: 100
     centerOnScreen: true
     title: "Minha aplicacao JavaFX"
     visible: true

     content: Box {
         orientation: VERTICAL
         content: [
             Label {
                 text: "Nome"
             },
             TextField {

             },
             Button {
                 text: "OK"
                 action: operation() {
                    // faz algo
                 }
             }
         ]
     }
 }
JavaFX Mobile

• Plataforma completa para mobile
• Sistema operacional baseado em Linux
• Máquina virtual Java logo em cima
• Aplicações Java
• (ex-SavaJe)
JavaFX Mobile

• Smartphones parrudos
• Combater
   • iPhone
   • Symbian S60
   • Android
JavaFX Mobile

• Programar em JavaFX Script
• Use de APIs avançadas
• Recursos bacanas do aparelho
   • Bluetooth, Motion Sensor, Touchscreen
JavaFX Mobile

• É uma plataforma
   • como o Android
   • Sun pretende licenciar para fabricantes
JavaFX Hoje

• Plataforma de desenvolvimento
• Linguagem de programação
• Contra-ataque no mercado Mobile
• Grande aposta da Sun
• Fácil e produtivo
JavaFX Amanhã
• Linguagem mais polida
• Mais componentes, Mais facilidades, Mais
  recursos
• Ferramentas para designers
• Ferramentas para programadores
• Outros produtos
JavaFX Amanhã
• Linguagem mais polida
• Mais componentes, Mais facilidades, Mais
  recursos
• Ferramentas para designers
• Ferramentas para programadores
• Outros produtos
         Fique de olho no Java FX!
Obrigado!

Weitere ähnliche Inhalte

Andere mochten auch

Enterprise JavaBeans simples e descomplicado, na prática
Enterprise JavaBeans simples e descomplicado, na práticaEnterprise JavaBeans simples e descomplicado, na prática
Enterprise JavaBeans simples e descomplicado, na práticaGlobalcode
 
Internet das Coisas com Java e Things API
Internet das Coisas com Java e Things APIInternet das Coisas com Java e Things API
Internet das Coisas com Java e Things APIGlobalcode
 
Palestra Sepai Alfredofurtado Introducao Ao Javafx
Palestra Sepai Alfredofurtado Introducao Ao JavafxPalestra Sepai Alfredofurtado Introducao Ao Javafx
Palestra Sepai Alfredofurtado Introducao Ao Javafxalfredofurtado
 
Campus Party 2014 - Internet das Coisas com coisas reais
Campus Party 2014 - Internet das Coisas com coisas reaisCampus Party 2014 - Internet das Coisas com coisas reais
Campus Party 2014 - Internet das Coisas com coisas reaisGlobalcode
 
Criando uma Agenda simples com NetBeans
Criando uma Agenda simples com NetBeansCriando uma Agenda simples com NetBeans
Criando uma Agenda simples com NetBeansSerge Rehem
 
JavaFX: Abordagem Prática
JavaFX: Abordagem PráticaJavaFX: Abordagem Prática
JavaFX: Abordagem PráticaEder Magalhães
 
JavaFx - Guia Prático
JavaFx - Guia PráticoJavaFx - Guia Prático
JavaFx - Guia Práticodanielfc
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXjesuinoPower
 
Internet das Coisas com Coisas Reais: Java , Things API, Raspberry PI e Toys!
Internet das Coisas com Coisas Reais:  Java , Things API, Raspberry PI e Toys!Internet das Coisas com Coisas Reais:  Java , Things API, Raspberry PI e Toys!
Internet das Coisas com Coisas Reais: Java , Things API, Raspberry PI e Toys!Globalcode
 
Palestra sobre Carreira Java / JavaEE - TDC2012 - Trlha Java
Palestra sobre Carreira Java / JavaEE - TDC2012 - Trlha JavaPalestra sobre Carreira Java / JavaEE - TDC2012 - Trlha Java
Palestra sobre Carreira Java / JavaEE - TDC2012 - Trlha JavaGlobalcode
 
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SPBoas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SPjesuinoPower
 
Criando aplicações java fx em minutos
Criando aplicações java fx em minutosCriando aplicações java fx em minutos
Criando aplicações java fx em minutosBruno Oliveira
 
JavaFX 8, Collections e Lambdas
JavaFX 8, Collections e LambdasJavaFX 8, Collections e Lambdas
JavaFX 8, Collections e LambdasjesuinoPower
 
JavaFX no Falando em Java 2007 - Sergio Lopes
JavaFX no Falando em Java 2007 - Sergio LopesJavaFX no Falando em Java 2007 - Sergio Lopes
JavaFX no Falando em Java 2007 - Sergio LopesCaelum
 
Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06thomasdacosta
 

Andere mochten auch (20)

Java persintence api
Java persintence apiJava persintence api
Java persintence api
 
Javafx Introdução
Javafx IntroduçãoJavafx Introdução
Javafx Introdução
 
Enterprise JavaBeans simples e descomplicado, na prática
Enterprise JavaBeans simples e descomplicado, na práticaEnterprise JavaBeans simples e descomplicado, na prática
Enterprise JavaBeans simples e descomplicado, na prática
 
Internet das Coisas com Java e Things API
Internet das Coisas com Java e Things APIInternet das Coisas com Java e Things API
Internet das Coisas com Java e Things API
 
Palestra Sepai Alfredofurtado Introducao Ao Javafx
Palestra Sepai Alfredofurtado Introducao Ao JavafxPalestra Sepai Alfredofurtado Introducao Ao Javafx
Palestra Sepai Alfredofurtado Introducao Ao Javafx
 
Ria e Java FX
Ria e Java FXRia e Java FX
Ria e Java FX
 
Conhecendo Java
Conhecendo JavaConhecendo Java
Conhecendo Java
 
Campus Party 2014 - Internet das Coisas com coisas reais
Campus Party 2014 - Internet das Coisas com coisas reaisCampus Party 2014 - Internet das Coisas com coisas reais
Campus Party 2014 - Internet das Coisas com coisas reais
 
Criando uma Agenda simples com NetBeans
Criando uma Agenda simples com NetBeansCriando uma Agenda simples com NetBeans
Criando uma Agenda simples com NetBeans
 
JavaFX: Abordagem Prática
JavaFX: Abordagem PráticaJavaFX: Abordagem Prática
JavaFX: Abordagem Prática
 
JavaFx - Guia Prático
JavaFx - Guia PráticoJavaFx - Guia Prático
JavaFx - Guia Prático
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFX
 
Internet das Coisas com Coisas Reais: Java , Things API, Raspberry PI e Toys!
Internet das Coisas com Coisas Reais:  Java , Things API, Raspberry PI e Toys!Internet das Coisas com Coisas Reais:  Java , Things API, Raspberry PI e Toys!
Internet das Coisas com Coisas Reais: Java , Things API, Raspberry PI e Toys!
 
Palestra sobre Carreira Java / JavaEE - TDC2012 - Trlha Java
Palestra sobre Carreira Java / JavaEE - TDC2012 - Trlha JavaPalestra sobre Carreira Java / JavaEE - TDC2012 - Trlha Java
Palestra sobre Carreira Java / JavaEE - TDC2012 - Trlha Java
 
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SPBoas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP
 
Criando aplicações java fx em minutos
Criando aplicações java fx em minutosCriando aplicações java fx em minutos
Criando aplicações java fx em minutos
 
JavaFX 8, Collections e Lambdas
JavaFX 8, Collections e LambdasJavaFX 8, Collections e Lambdas
JavaFX 8, Collections e Lambdas
 
JavaFX no Falando em Java 2007 - Sergio Lopes
JavaFX no Falando em Java 2007 - Sergio LopesJavaFX no Falando em Java 2007 - Sergio Lopes
JavaFX no Falando em Java 2007 - Sergio Lopes
 
JavaFX Mobile
JavaFX MobileJavaFX Mobile
JavaFX Mobile
 
Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06
 

Mehr von Caelum

Performance Web além do carregamento
Performance Web além do carregamentoPerformance Web além do carregamento
Performance Web além do carregamentoCaelum
 
Desafios de Performance Web - BrazilJS
Desafios de Performance Web - BrazilJSDesafios de Performance Web - BrazilJS
Desafios de Performance Web - BrazilJSCaelum
 
Performance na web: o modelo RAIL e outras novidades
Performance na web: o modelo RAIL e outras novidadesPerformance na web: o modelo RAIL e outras novidades
Performance na web: o modelo RAIL e outras novidadesCaelum
 
Progressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficadaProgressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficadaCaelum
 
Tudo que você precisa saber sobre picture e srcset
Tudo que você precisa saber sobre picture e srcsetTudo que você precisa saber sobre picture e srcset
Tudo que você precisa saber sobre picture e srcsetCaelum
 
Como o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vidaComo o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vidaCaelum
 
Métricas e a automatização do controle de qualidade
Métricas e a automatização do controle de qualidadeMétricas e a automatização do controle de qualidade
Métricas e a automatização do controle de qualidadeCaelum
 
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio LopesHTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio LopesCaelum
 
Offline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio LopesOffline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio LopesCaelum
 
Design Responsivo - MobCamp 2014
Design Responsivo - MobCamp 2014Design Responsivo - MobCamp 2014
Design Responsivo - MobCamp 2014Caelum
 
Além do responsive design: a mudança de paradigma do design adaptativo e os m...
Além do responsive design: a mudança de paradigma do design adaptativo e os m...Além do responsive design: a mudança de paradigma do design adaptativo e os m...
Além do responsive design: a mudança de paradigma do design adaptativo e os m...Caelum
 
Por trás dos frameworks e além do reflection
Por trás dos frameworks e além do reflectionPor trás dos frameworks e além do reflection
Por trás dos frameworks e além do reflectionCaelum
 
Otimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo MobileOtimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo MobileCaelum
 
Introducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacaoIntroducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacaoCaelum
 
Otimizando o time to market - do zero a produção em poucas iterações
Otimizando o time to market - do zero a produção em poucas iteraçõesOtimizando o time to market - do zero a produção em poucas iterações
Otimizando o time to market - do zero a produção em poucas iteraçõesCaelum
 
All you need to know about JavaScript loading and execution in the browser - ...
All you need to know about JavaScript loading and execution in the browser - ...All you need to know about JavaScript loading and execution in the browser - ...
All you need to know about JavaScript loading and execution in the browser - ...Caelum
 
Wsrest 2013
Wsrest 2013Wsrest 2013
Wsrest 2013Caelum
 
Design Responsivo por uma Web única
Design Responsivo por uma Web únicaDesign Responsivo por uma Web única
Design Responsivo por uma Web únicaCaelum
 
Os Caminhos de uma Estratégia Mobile
Os Caminhos de uma Estratégia MobileOs Caminhos de uma Estratégia Mobile
Os Caminhos de uma Estratégia MobileCaelum
 
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...Caelum
 

Mehr von Caelum (20)

Performance Web além do carregamento
Performance Web além do carregamentoPerformance Web além do carregamento
Performance Web além do carregamento
 
Desafios de Performance Web - BrazilJS
Desafios de Performance Web - BrazilJSDesafios de Performance Web - BrazilJS
Desafios de Performance Web - BrazilJS
 
Performance na web: o modelo RAIL e outras novidades
Performance na web: o modelo RAIL e outras novidadesPerformance na web: o modelo RAIL e outras novidades
Performance na web: o modelo RAIL e outras novidades
 
Progressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficadaProgressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficada
 
Tudo que você precisa saber sobre picture e srcset
Tudo que você precisa saber sobre picture e srcsetTudo que você precisa saber sobre picture e srcset
Tudo que você precisa saber sobre picture e srcset
 
Como o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vidaComo o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vida
 
Métricas e a automatização do controle de qualidade
Métricas e a automatização do controle de qualidadeMétricas e a automatização do controle de qualidade
Métricas e a automatização do controle de qualidade
 
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio LopesHTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
 
Offline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio LopesOffline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio Lopes
 
Design Responsivo - MobCamp 2014
Design Responsivo - MobCamp 2014Design Responsivo - MobCamp 2014
Design Responsivo - MobCamp 2014
 
Além do responsive design: a mudança de paradigma do design adaptativo e os m...
Além do responsive design: a mudança de paradigma do design adaptativo e os m...Além do responsive design: a mudança de paradigma do design adaptativo e os m...
Além do responsive design: a mudança de paradigma do design adaptativo e os m...
 
Por trás dos frameworks e além do reflection
Por trás dos frameworks e além do reflectionPor trás dos frameworks e além do reflection
Por trás dos frameworks e além do reflection
 
Otimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo MobileOtimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo Mobile
 
Introducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacaoIntroducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacao
 
Otimizando o time to market - do zero a produção em poucas iterações
Otimizando o time to market - do zero a produção em poucas iteraçõesOtimizando o time to market - do zero a produção em poucas iterações
Otimizando o time to market - do zero a produção em poucas iterações
 
All you need to know about JavaScript loading and execution in the browser - ...
All you need to know about JavaScript loading and execution in the browser - ...All you need to know about JavaScript loading and execution in the browser - ...
All you need to know about JavaScript loading and execution in the browser - ...
 
Wsrest 2013
Wsrest 2013Wsrest 2013
Wsrest 2013
 
Design Responsivo por uma Web única
Design Responsivo por uma Web únicaDesign Responsivo por uma Web única
Design Responsivo por uma Web única
 
Os Caminhos de uma Estratégia Mobile
Os Caminhos de uma Estratégia MobileOs Caminhos de uma Estratégia Mobile
Os Caminhos de uma Estratégia Mobile
 
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
 

Mobile em Java: Java ME e Java FX - Sergio Lopes 2009

  • 1. Java ME Sérgio Lopes sergio.lopes@caelum.com.br
  • 2. Java Micro Edition • Versão reduzida do Java • Dispositivos móveis • celulares, pdas, set-top boxes, blue ray, impressoras, ... • muitos aparelhos diferentes • Grande adoção no mercado
  • 3. Java ME • Configurations • CLDC • Connected Limited Device Configuration • CDC • Connected Device Configuration
  • 4. Java ME • Profiles • MIDP • Personal Profile
  • 5. Java ME • Extensões (proprietárias) • Nokia UI • ....
  • 6. Java ME • Extensões Oficiais • Padronizadas pelo JCP • Bluetooth API (JSR82) • WMA (JSR 120 e 205) • MMAPI (JSR 135)
  • 7. Java ME • Mobile 3D Graphics (JSR 184) • SVG (JSR 226 e 287) • Payment API (JSR 229) • Java TV • ....
  • 8. Mercado • Java ME domina o mercado • Outras tecnologias • Brew • Flash Lite • Symbian C++ e outros não portáveis
  • 9. Mercado • Maioria dos celulares tem Java ME • MIDP 2.0 é o mais comum • Última versão é MIDP 2.1 (N95 etc) • MIDP 3.0 já está em draft no JCP
  • 10. Mercado • Palmtops e Smartphones • Palm OS • Windows Mobile (ipaqs...) • Blackberry
  • 11. Mercado • Set-top box de TV Digital • Java TV • Mercado com maior potencial hoje
  • 12. Desenvolvedor • IDE • Eclipse + Eclipse ME • Netbeans + Mobility Pack
  • 13. Desenvolvedor • Toolkits e emuladores • Sun WTK • Nokia • Samsung • Siemens • Motorola • Blackberry • ....
  • 14. Desenvolvedor • Maioria das ferramentas são Windows-only • Sun WTK tem para Linux • MacOS X, Solaris, BSDs esquecidos :(
  • 15. Facilidade • Muito fácil de programar • Ter poucos recursos limita mas facilita • Diferenças entre dispositivos tratada pela VM
  • 16. Portabilidade • Dispositivos muito diferentes • tamanhos, cores, recursos, capacidades... • ME tem que englobar todos • Muitas diferenças de renderização
  • 17. Demo
  • 18. Nem tudo são flores • Portável mas nem tanto • Celulares com bugs • Emuladores com bugs • Diferenças entre aparelhos • Tem que testar sempre tudo = CUSTO!
  • 19. Nem tudo são flores • Competição acirrada • Flash Lite promete! • Silverlight Mobile • Plataformas fechadas • iPhone!
  • 20. Futuro • MIDP 3.0 • Mais extensões • JavaFX Mobile
  • 22.
  • 23. Java FX Sérgio Lopes sergio.lopes@caelum.com.br
  • 24. Do que são feitos os Sites bonitos?
  • 25. Do que são feitos os Sites bonitos? Java?
  • 26. Porque o Flash é tão popular e os Applets não?
  • 27. Porque o Ajax é tão popular e os Applets não?
  • 28. Porque Swing e AWT não vingaram? • Difícil de desenvolver • Faltam ferramentas boas • Java é lento • É feio • Ninguém tem Java
  • 29. Java é lento? • Era. Uns 10 anos atrás. • Grande? JRE tem 12 MB • Tempo de startup alto
  • 30. Java é lento? • Era. Uns 10 anos atrás. • Grande? JRE tem 12 MB • Tempo de startup alto Solução: Consumer JRE (coming soon)
  • 31. Ninguém tem Java? • 91% dos PCs do mundo têm Java • 77% dos dispositivos têm Java • 60% dos novos PCs já vem com Java • Mac e Solaris vem com Java instalado • Com OpenJDK, Linux deve vir em breve
  • 33. É difícil e faltam ferramentas
  • 34. É difícil e faltam ferramentas Java FX !
  • 35. Java FX • Série de tecnologias para desenvolver RIAs (Rich Internet Applications) • Java FX Script • Java FX Mobile
  • 36. Java FX • Concorrer com • Adobe Flash, Flex, AIR • Microsoft Silverlight • Ajax etc • É beta ainda!
  • 37. Java FX Script • Nova linguagem de programação • Orientada a Objetos • Sintaxe declarativa • Poder do Java
  • 38. Java FX Script • Fácil. • Fácil de desenvolver • Fácil de criar ferramentas
  • 39. Java FX Script • Recursos BEM avançados • Facilita MVC • Data binding de Model com View • Programação funcional • Triggers • Animações • Queries em arrays
  • 40. JavaFX Script • Mesmos componentes do Swing padrão • Permite uso de Java 2D, JMF, Java 3D e outros • É Java! Reaproveito tudo
  • 41. JavaFX Script • Sintaxe bem diferente do Java normal
  • 42. Hello World em Swing import java.awt.*; import javax.swing.*; public class HelloSwing { public static void main(String[] args) { Text JFrame frame = new JFrame("Meu programa em Swing"); JLabel label = new JLabel("Ol‡ Mundo"); Dimension d = new Dimension(300, 50); frame.setSize(d); frame.add(label); frame.setVisible(true); } }
  • 43. Hello World em JavaFX Frame { title: "Meu programa em javafx" width: 200 height: 50 visible: true content: Label { text: "Ol‡ mundo" } }
  • 44. Um código mais complexo Frame { width: 300 height: 100 centerOnScreen: true title: "Minha aplicacao JavaFX" visible: true content: Box { orientation: VERTICAL content: [ Label { text: "Nome" }, TextField { }, Button { text: "OK" action: operation() { // faz algo } } ] } }
  • 45. JavaFX Mobile • Plataforma completa para mobile • Sistema operacional baseado em Linux • Máquina virtual Java logo em cima • Aplicações Java • (ex-SavaJe)
  • 46. JavaFX Mobile • Smartphones parrudos • Combater • iPhone • Symbian S60 • Android
  • 47. JavaFX Mobile • Programar em JavaFX Script • Use de APIs avançadas • Recursos bacanas do aparelho • Bluetooth, Motion Sensor, Touchscreen
  • 48. JavaFX Mobile • É uma plataforma • como o Android • Sun pretende licenciar para fabricantes
  • 49. JavaFX Hoje • Plataforma de desenvolvimento • Linguagem de programação • Contra-ataque no mercado Mobile • Grande aposta da Sun • Fácil e produtivo
  • 50. JavaFX Amanhã • Linguagem mais polida • Mais componentes, Mais facilidades, Mais recursos • Ferramentas para designers • Ferramentas para programadores • Outros produtos
  • 51. JavaFX Amanhã • Linguagem mais polida • Mais componentes, Mais facilidades, Mais recursos • Ferramentas para designers • Ferramentas para programadores • Outros produtos Fique de olho no Java FX!

Hinweis der Redaktion

  1. Demos
  2. diferente do iphone