Migrando de Applets para JavaFX, e Modelos de Distribuição de Apps
-
Upload
bruno-borges -
Category
Technology
-
view
247 -
download
1
Transcript of Migrando de Applets para JavaFX, e Modelos de Distribuição de Apps
Migrando de Applets p/ JavaFX & Novos Modelos de Distribuição de apps Java
Bruno Borges
Principal Product Manager
Java Evangelist
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 3
• Java Evangelist
• Orale Product Manager
• Entusiasta JavaFX e IoT
• Onde me encontrar
• @brunoborges
• plus.google.com/+BrunoBorges
Bruno Borges
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 4
Agenda
• História dos Java Applets
• Java Applets e Browsers Hoje em Dia
• JavaFX: WebView e o ScriptEngine
• Modelos de Distribuição de Aplicações Java
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 9
Java Applets & Browsers Hoje em Dia
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 10
Java Applets Hoje
• Qualquer feature que navegadores não suportam de maneira uniforme
• Alguns exemplos
• Transferência de muitos arquivos, de grandes tamanhos, e com resumo
de envio
• Criptografia local de dados
• Autenticação por dispositivos físicos (tokens / leitores digitais / outros)
• Broadcast de áudio, vídeo, e desktop sharing
• Acesso a recursos do computador não expostos por navegadores
• Processamento de dados local
Porque ainda usam Applets? Exemplos de features nativas
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 11
Exemplo: Segurança de Internet Banking Como proteger o cliente de fraudes?
Segurança Internet Banking
Segurança
Internet
Banking
Dados
• Usuário e Senha
• Conta Bancária
• CPF
Token
• Token Físico
• Cartão de Senhas Device
• Origem de Acesso
• Unicidade
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 12
Navegador Web
Navegadores Web e Java Applets
Features
Nativas
Camada Servidor
AppServer 01
AppServer 0N
AppServer 0X
AppServer 02
Subsistemas
LB
R
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 13
Meios de Acesso ao Seu Serviço Como os clientes acessam seus serviços hoje?
Aplicativos para Smartphones
Seu Aplicativo
Navegadores Web
Aplicativos para Tablets
Aplicativos para PCs
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 14
COMO MIGRAR SEM VIRAR A CHAVE?
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 15
Virando o jogo! Do Java no Browser ao Browser no Java!
+
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 16
Modelo de Acesso Atual no PC
• Vantagem
• Execução “semi-transparente”
• Altamente dependente
• Sistemas Operacionais
• Navegadores Web
• Java “gratuito” de java.com
• Java Browser Plugin
• Navegadores podem bloquear
• Atualizações automáticas (Windows)
Sites que usam Java Applets
Navegador Web
Página Web
Features
Nativas
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 17
Novo Modelo de Acesso no PC
• Vantagem
• Ambiente “web” controlado
• Não precisa jogar fora o site
• Altamente Independente
• Java gratuito ou suportado pela Oracle
• Atualização controlada
• Independência de navegadores de
terceiros (Firefox, Chrome, Safari, etc)
Serviços Web de amanhã que ainda precisam de features nativas
Aplicação Java
Browser Interno “WebView”
Features
Nativas
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 18
Novo Meio de Acesso via Aplicativo
Mais uma Opção. Maior Independência.
Custo de Implementação Baixo
Navegador Web
Página Web
Applets
Aplicação Java
Browser Interno “WebView”
Features
Nativas
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 19
JavaFX: WebView & ScriptEngine
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 20
Two-tier Hybrid Java Desktop Applications
Nome confuso, explica!
JavaFX Web (WebView)
Windows Mac OS Linux
Java Virtual Machine
Application
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 21
JavaFX
• Java SE 8
• Novo motor Javascript: Nashorn
• Segue padrão ECMAScript 262 v5.1
• Capaz de rodar aplicativos Node.JS
• JavaFX 8
• Suporte a componentes Swing (permite migrar JApplets)
• Componente WebView
• Suporte a CSS3, Javascript (via Nashorn), HTML5 tags, DOM
• Javascript pode chamar APIs Java e vice-versa
WebView e ScriptEngine
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 22
JavaFX 8 – WebEngine
• html5test.com
• acid3.acidtests.org
• webkit sunspider 0.9.1 test
Compatibilidades e Performance
Firefox 29: 244.8ms
Chrome 34: 259.8ms
JavaFX 8: 252.4ms
http://www.websocket.org/echo.html
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 23
Criando o browser em JavaFX
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 25
Como empacotar a aplicação
• bit.ly/javafxpackager8unix
• Linha de comando:
• $ javafxpackager
• Apache Ant Task
• Suporte nativo no NetBeans
• Gera os seguintes pacotes
• Windows: EXE/MSI
• Linux: RPM/DEB
• Mac: DMG
• Outros: installer/image
Nova ferramenta: javafxpackager
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 26
Modelos de Distribuição de Aplicações Java
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 27
Distribuição por Java Web Start
• A partir do servidor, usando Java Web Start
• Usuário abre aplicação através de um link no site
• Novas versões da aplicação são detectadas automaticamente
• Pode substituir o modelo que usa Applets
• Benefício: auto-update do Java (em Windows)
• Desvantagens
• Java deve estar instalado no PC do usuário.
• Sofre dos mesmos riscos que Applets, pois roda através do Java Browser Plugin
Como esta aplicação pode ser instalada no cliente?
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 28
Distribuição por Download
• A partir do site do fabricante do software, através de um “download
link”
• Usa o mesmo JAR, acessível em modo “standalone”
• JRE pode ser “self-contained” em pacotes DEB/RPM, DMG, e EXE
• Modelo utilizado pela Receita Federal para o IRPF e ReceitaNet
Como esta aplicação pode ser instalada no cliente?
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 29
Distribuição por Appstores para PCs
• Como um programa self-contained em Appstores, distribuído em
“lojas virtuais” para PCs
• O Java vem embutido (bundled) com a aplicação
• Você pode controlar qual versão do Java irá junto da aplicaçãos
Como esta aplicação pode ser instalada no cliente?
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 30
Percepção do Usuário
• Appstore
• Aplicação específica
• Usuários de smartphone confiam
no modelo de appstores
• Download Link
• Usuários “geeks” e uso geral
• Java Web Start
• Uma “nova janela do browser”
Como o usuário irá ver o novo acesso ao seu site
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 31
Modelo Atual versus Novas Opções Diferenças entre os modelos de distribuição
Applet Java Web
Start
Download
Link Appstore
Independente da Instalação Prévia do Java NÃO NÃO SIM SIM
Independe do Java Browser Plugin NÃO NÃO SIM SIM
Independe da Atualização do Java NÃO NÃO SIM SIM
Independe do Java LiveConnect™ NÃO SIM SIM SIM
Independe de Restrições de Browsers Web NÃO NÃO SIM SIM
Atualização Automática do App OOTB SIM SIM NÃO SIM
Controle da Versão do Java pelo Banco NÃO NÃO SIM SIM
Controle do Ambiente de Execução NÃO NÃO SIM SIM
Viabilidade de Suporte Oracle NÃO NÃO SIM SIM
* LiveConnect™ - comunicação via Javascript entre o browser tradicional e o Java
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 32
Desafios da Implementação
• Mudança na interação entre JavaScript <-> Applet para convivência
• Javascript do site deve ser inteligente para funcionar tanto em
navegadores comuns, quanto no navegador JavaFX em caso de
convivência do modelo atual com o novo meio de acesso
• Usar uma única versão de bibliotecas de terceiros
• Exemplo: quando dois Applets usam diferentes versões do BouncyCastle
• Padronização e uniformidade em funcionalidades
• Eliminar redundância. Exemplo: evitar que dois ou mais Applets
implementem mesmos métodos de criptografia
Pontos de atenção para a nova proposta de distribuição
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 34
Conclusão
• Diminua a dependência de fatores externos
• Elimine o fator “browser” e o sistema operacional
• Concentre-se na aplicação JavaFX
• Crie pacotes para os 3 principais SOs
• Distribua sua aplicação de diversas formas
• Standalone download link
• Appstores para PCs
• Java Web Start
Migrando de Applets para uma aplicação two-tier “híbrida” Java
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 36
The preceding is intended to outline our general product direction. It is intended
for information purposes only, and may not be incorporated into any contract.
It is not a commitment to deliver any material, code, or functionality, and should
not be relied upon in making purchasing decisions. The development, release,
and timing of any features or functionality described for Oracle’s products
remains at the sole discretion of Oracle.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 38