Esse update é 10: Novos applets e JavaFX



Documentos relacionados
Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

Adobe Flex. Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa

Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

Desenvolvendo aplicações desktop em Java: presente e futuro

Frameworks para criação de Web Apps para o Ensino Mobile

Desenvolvimento Web TCC Turma A-1

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc.

1.1. Java como plataforma, além da linguagem

SenchaTouch + PhoneGap

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc.

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

UM FRAMEWORK PARA DESENVOLVIMENTO DE

Programação de Computadores II TCC Turma A-1

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com

Manual de utilização do Zimbra

Organizar a estrutura do site

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: ou

Desenvolvendo Websites com PHP

INTEGRE Diversas fontes de informações em uma interface intuitiva que exibe exatamente o que você precisa

Tecnologia Java. Helder darocha

II Semana TI. Curso ASP.NET AJAX. Raphael Zanon Rodrigues UNIVEM - Prof. Elvis Fusco

Inicialização Rápida do Novell Vibe Mobile

Introdução à Linguagem Java

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Programação de Computadores - I. Profª Beatriz Profº Israel

Linguagem de Programação Introdução a Linguagem Java

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

O sucesso da WWW. Atualização de Hiperdocumentos. Atualização de Hiperdocumentos. Cuidados. Exemplo. Passos. Motivos :

Programação para Web Artefato 01. AT5 Conceitos da Internet

Análise dos Navegadores de Internet

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

World Wide Web e Aplicações

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Estudo comparativo entre tecnologias Java: Applet e JWS.

Introdução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega

Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura

Programação Web Prof. Wladimir

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

Marcos Cardoso Engenheiro de Vendas Bruno Cesar Engenheiro de Sistemas

QCON RIO 2015 Desenvolvimento para Windos 10. Alexandre

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com

Orientação a Objetos com Java

Manual de Configuração de Ambiente para Utilização do Login via Certificado Digital no Cadastro Web

A Linguagem Java. Apresentação. Java. A Linguagem da Internet

Scalable Vector Graphics. Kadu Neves Rafael Rocha

Interface Homem Máquina para Domótica baseado em tecnologias Web

Manual do Usuário Android Neocontrol

Tutorial Java ME. Deixe o JME surpreender você também! Porque programar com 1 GB de RAM é fácil!! Neto Marin

Produtos da Fábrica de Software

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

ESTUDO DE CASO WINDOWS VISTA

Aquisição móvel de dados com Smartphones & Tablets

Sistema Gerador de Anúncios para Compra e Venda On-line. Leandro de Oliveira ol.leandro@gmail.com

Capítulo 2 Introdução à ferramenta Flash

ESTUDO SOBRE AS LINGUAGENS DE PROGRAMAÇÃO HOSPEDEIRAS SUPORTADAS PELA FERRAMENTA HTML. Aluno: Rodrigo Ristow Orientador: Wilson Pedro Carli

Instruções para Instalação dos Utilitários Intel

1. Instalando o Java 7 JavaFX e o Netbeans

Aplicações Desktop: Swing/SubMacroForms. Carlos Renato Alves Gouveia Novembro/2008

Procedimentos para Configuração do Ambiente J2EE e J2SE em Ambiente Windows

Computação II Orientação a Objetos

EMULADOR 3270 VIA WEB BROWSER

Tudo o que Você Sempre Quis Saber Sobre Linguagens de Programação* (*Mas Tinha Medo de Perguntar) Diego Padilha Rubert FACOM

INTRODUÇÃO AO DESENVOLVIMENTO DE JOGOS COM LIBGDX. Vinícius Barreto de Sousa Neto

Programação de Computadores II: Java. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Linguagens de. Aula 02. Profa Cristiane Koehler

Fundamentos da Computação Móvel

Conteúdos Off-Line e para Dispositivos Móveis

Adobe Flex para iniciantes, desde a instalação até à produção avançada. Página 1

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Desenvolvimento de Sites. Subtítulo

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

Google App Engine. André Gustavo Duarte de Almeida. Computação Ubíqua e Nuvens. Natal, 24 de maio de 2012 andregustavoo@gmail.com

Implementação de Web Services em Projetos de LabVIEW

Lógica de Programação

Conteúdo Programático de PHP

Desenvolvimento de Aplicação Windows Mobile Acessando um WebService

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

INTERATIVIDADE E ENTRETENIMENTO WEB AULA 1. Estrutura do curso e conceitos fundamentais. professor Luciano Roberto Rocha.

Como se tornar um desenvolvedor de plug-ins para AutoCAD e Revit

Orientada a serviços: JAX-WS SOAP API

Desenvolvimento de um aplicativo básico usando o Google Android

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

ARQUITETURA DE SISTEMAS. Cleviton Monteiro

Transcrição:

Esse update é 10: Novos applets e JavaFX Jorge Diz Instrutor Globalcode

Objetivos Objetivos: Mostrar o que vem por ai no desktop/ browsertop Ver se os applets agora vão pegar Onde está JavaFX?

Agenda >Applets: a volta dos que não foram >O que há de novo no front >Java 6 Update 10 >Consumer JRE >Java Plug-in >Convergência applets / JNLP >Plataforma Java FX >Detachable Applets >Conclusões

Applets: a volta dos que não foram >Applets = mini-aplicativos >Executam numa JVM embutida no browser web >São baixados junto com a página web >Iniciam automaticamente >Área de visualização contida na página HTML >Interface rica AWT / Swing

Applets: a volta dos que não foram >browser com capacidade para rodar applets (1995)

Applets: a volta dos que não foram > Os outros browsers (Netscape, Internet Explorer) incorporaram logo a tecnologia > Despertaram muito interesse no início do Java > Modelo de segurança efetivo (sandbox)

Applets: a volta dos que não foram > Mas... >Tempo de carga demorado >Dependências de versões da JVM usada pelo browser. >Mínimo comum denominador puxado para baixo pela JVM 1.1 da Microsoft >Surgimento de alternativas para RIA (DHTML, Flash, AJAX)

Applets: a volta dos que não foram >=> desinteresse por soluções baseadas em applets >=> desinteresse pela plataforma Java... >... (revertida pelo uso cada vez maior do lado do servidor Web, a partir de 1997) >=> percepção negativa do mercado: > Applets == promessa não cumprida > Java só presta do lado do servidor

O que há de novo no front? >Crescimento do paradigma de aplicações ricas conectadas (RIAs: rich internet applications) >Fim do litígio em torno da Microsoft JVM (2004) >Investimento da Sun para corrigir os problemas >Compatibilidade entre browsers: novo Java Plugin >Tempo de carga: JVM modular (Consumer JRE)

O que há de novo no front? >Migração entre JVMs de applets sendo executados >Convergência applets / aplicativos desktop iniciados via JNLP (Java Web Start) >Plataforma Java FX + linguagem Java FX Script >Escrita de applets em outras linguagens via Java Scripting API (JSR 223) >Suporte a características do Java SE no Java ME >Suporte a mídias ricas.

O que há de novo no front? >... mas nem tudo é pra já: >parte das melhorias estão sendo implementadas >a plataforma Java FX ainda não é estável >facilidade / robustez de implantação ainda não se compara a outras soluções (AJAX, Flash, Flex) >perfil de web designer ainda não tem a ferramenta >plugins para IDEs ainda imaturos

O que há de novo no front? > Boa notícia: > Atualização para Java 6 (estável) está programada para outubro/2008: update 10 > Beta (27) já é bem robusto >==> não será necessário esperar até o Java 7

Java 6 update 10 >Atualmente em beta >Incorpora boa parte das tecnologias: >Tempo de carga reduzido >Novo Java Plugin para o browser >Compilador Java FX Script e bibliotecas FX >Detachable applets >Applets podem ser também aplicações JNLP

Consumer JRE >Modularização das bibliotecas incluídas na JRE: >Tempo de carga reduzido >Download sob demanda de partes da biblioteca

Deployment Toolkit >Biblioteca JavaScript para verificar capacidades do Java Plugin / JVM disponível > Opção preferencial para implantar applets > Substitui tags <applet>, <embed> > Incluir na página web como: <script src= http://java.com/js/deployjava.js ></script>

Novo Java Plugin > Plugin mais inteligente para o browser > Suporte a Firefox 3, IE 6 e 7... >... em Windows, Linux, Solaris (sem MacOS) > Melhor integração Java X JavaScript > Interage com o Deployment Toolkit

Java FX >Conjunto de tecnologias da Sun baseado em Java para aplicações ricas > Ainda desenvolvido fora do JCP > Ainda não é totalmente open source > As mesmas aplicações executam em ambiente browser, desktop e mobile >Segundo a Sun: todas as telas da sua vida

Histórico de Java FX > F3 = Form follows function : > Framework de UI de Chris Oliver para a SeeBeyond: > Forma (sintaxe declarativa) segue a função (descrever GUIs) > SeeBeyond adquirida pela Sun em 2007 > SavaJe > Sistema operacional para dispositivos móveis, da empresa do mesmo nome > Baseado em Linux + Java SE > Apresentado no JavaOne 2006 > SavaJe adquirida pela Sun em 2007

Histórico de JavaFX > JavaFX > Anúncio da Sun no JavaOne 2007 > F3 JavaFX Script (em beta) > SavaJe JavaFX Mobile (não publicado) > Java FX SDK ( o beta está próximo)

Família Java FX > JavaFX: Conjunto de tecnologias com foco em interface usuário (desktop, browsertop, mobiletop) > JavaFX SDK: Biblioteca para RIAs (animação, gráficos vetoriais, mídias ricas) > JavaFX Script: linguagem de script declarativa, com tipagem estática (Chris Oliver - autor) > JavaFX Mobile: plataforma para aplicativos em dispositivos móveis.

Java FX X os outros > JavaFX no browser roda como applet > => depende do runtime Java (JRE) > => herda prós e contras dos applets > Prós: > Acesso a todas as APIs do Java > Modelo de segurança de Java. > Contras (a serem tratados pelo update 10): > Tempo de carga muito alto > Inicialização demorada > Melhora em relação aos applets antigos : > Interfaces + ricas > Sintaxe declarativa

Java FX X os outros > Java FX Script executa na JVM (JRE) > JavaScript está em todos os browsers, e é base para AJAX. > Flash é um plugin, mas está disponível para as principais plataformas e a instalação /atualização / tempo de carga são bem rápidos. > ActiveX é restrito a plataformas Microsoft > Silverlight, baseado em.net (ou Mono). > Google Gears, persistência no browser + JavaScript (em beta).

Java FX: SDK >Conjunto de bibliotecas Java para suporte das funcionalidades da plataforma Java FX na JVM >Construído em cima de: >AWT/Swing >Java 2D >Suporte a mídias ricas >Pacotes javafx.*

Java FX Script >Linguagem de script orientada a objetos >Antes interpretada, agora compilada >Usa o suporte da JSR 233 (Scripting API) >Linguagem específica de domínio para interfaces gráficas >Fortemente tipada, com tipos inferidos >Parecida com Java e com outras

Java FX Script >Linguagem de consulta ~SQL >~JavaScript >Linguagem de marcação (~JSON) >~SVG (gráficos vetoriais) >Primitivas para animação, multi-threading >Sintaxe para binding variáveis X eventos >Orientação a aspectos: triggers ~ advices >Tratamento de eventos assíncronos >Closures

Hello, Java FX > Hello.fx: import javafx.ui.*; } Frame { width: 400 height: 300 content : Label { text: "Oi, Galera } visible: true }

Java FX Script: alguns contras >Sintaxe não trivial, diferenças irritantes para quem conhece Java. >Modelo da linguagem não é tão simples >{[{[{[[{{ >~JSON, ~LISP >Melhor que XML, pior que o YAML do RoR >Binding padrão do Swing não é suportado

Java FX Script: mudanças desde 2007 > interpretador compilador > => melhor integração entre Java e Java FX Script > Disponibilização do SDK (semi-escondido) > Sintaxe ficou mais padronizada

JavaFX Mobile > Plataforma para aplicativos móveis Java Aplicativos Aplicativos em Java // Java em Java FX FX Script Script JavaFX Mobile JVM JVM + Middleware Middleware Java Java Sistema Sistema Operacional (Linux Operacional (Linux Mobile) Mobile) Nativo Nativo

JavaFX Mobile X os outros > Por quê JavaFX Mobile? > vs. Java ME: menos limitações de programação > vs. S.O.'s proprietários: menos variações de ambiente e suporte a APIs > vs. iphone: aplicativos em plataforma Java, sem as limitações de AJAX / kit nativo. > vs. Brew: baseado em tecnologias opensource, licenciamento amigável ao desenvolvedor. > vs. OpenMoko: aplicativos em plataforma Java em vez de código nativo em C/C++. > vs. Android ( Google Phone ): tende ser padronizado antes (Sun)

JavaFX Mobile X os Outros > Prós: > Maturidade de Java SE como plataforma (coleta de lixo, threads, frameworks). > Ambiente homogêneo para implantação (JSRs de Java ME) > Arquitetura mais aberta que a maioria das alternativas > Contras: > Ainda não disponível > Dependência da adoção pelos fabricantes. > Operadoras hostis ao celular como plataforma aberta.

Convergência Applet Aplicação JNLP > Empacotamento que permite escolher a instalação sem alterar o código > Applets agora tem um descritor JNLP > Suporte a JNLP e applet no mesmo arquivo.jar

Detachable Applets > Funcionalidade para arrastar-e-soltar um applet sendo executado no browser para continuar executando no desktop. > Demo

Detachable Applets > Como isso é possivel? > Toda tecnologia suficientemente avançada não pode ser distinguida da magia Richard Feynmann

Detachable Applets >O applet migra da JVM do browser para a JVM do desktop. >Migrar == >ser passivado numa JVM (começa a arrastar no browser),... >... tele-transportado... >... e ativado em outra (JVM no desktop) >Quando soltar, tenho a opção de virar aplicativo desktop (JNLP) com suporte a atualização automática

Conclusões: >A infra já está ai, mas não está tão fácil de usar >Foco ainda no perfil de programador, não de web designer. >Regressão do update 10 beta está OK: já pode ser usado como a instalação de Java do dia-a-dia >Diferenças entre desktop/browsertop/mobiletop estão diminuindo