Migrando de Applets para JavaFX, e Modelos de Distribuição de Apps

1,902 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Migrando de Applets para JavaFX, e Modelos de Distribuição de Apps

  1. 1. Migrando de Applets p/ JavaFX & Novos Modelos de Distribuição de apps Java Bruno Borges Principal Product Manager Java Evangelist
  2. 2. Copyright © 2014, Oracle and/or its affiliates. 3 All rights reserved. • Java Evangelist • Orale Product Manager • Entusiasta JavaFX e IoT • Onde me encontrar • @brunoborges • plus.google.com/+BrunoBorges Bruno Borges
  3. 3. Copyright © 2014, Oracle and/or its affiliates. 4 All rights reserved. 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
  4. 4. Copyright © 2014, Oracle and/or its affiliates. 9 All rights reserved. Java Applets & Browsers Hoje em Dia
  5. 5. Copyright © 2014, Oracle and/or its affiliates. 10 All rights reserved. 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
  6. 6. Copyright © 2014, Oracle and/or its affiliates. 11 All rights reserved. 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
  7. 7. Copyright © 2014, Oracle and/or its affiliates. 12 All rights reserved. Navegador Web Navegadores Web e Java Applets Features Nativas Camada Servidor AppServer 01 AppServer 0N AppServer 0X AppServer 02 Subsistemas LBR
  8. 8. Copyright © 2014, Oracle and/or its affiliates. 13 All rights reserved. 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
  9. 9. Copyright © 2014, Oracle and/or its affiliates. 14 All rights reserved. COMO MIGRAR SEM VIRAR A CHAVE?
  10. 10. Copyright © 2014, Oracle and/or its affiliates. 15 All rights reserved. Virando o jogo! Do Java no Browser ao Browser no Java! +
  11. 11. Copyright © 2014, Oracle and/or its affiliates. 16 All rights reserved. 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
  12. 12. Copyright © 2014, Oracle and/or its affiliates. 17 All rights reserved. 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
  13. 13. Copyright © 2014, Oracle and/or its affiliates. 18 All rights reserved. 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
  14. 14. Copyright © 2014, Oracle and/or its affiliates. 19 All rights reserved. JavaFX: WebView & ScriptEngine
  15. 15. Copyright © 2014, Oracle and/or its affiliates. 20 All rights reserved. Two-tier Hybrid Java Desktop Applications Nome confuso, explica! JavaFX Web (WebView) Windows Linux Mac OS Java Virtual Machine Application
  16. 16. Copyright © 2014, Oracle and/or its affiliates. 21 All rights reserved. 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
  17. 17. Copyright © 2014, Oracle and/or its affiliates. 22 All rights reserved. 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
  18. 18. Copyright © 2014, Oracle and/or its affiliates. 23 All rights reserved. Criando o browser em JavaFX
  19. 19. Copyright © 2014, Oracle and/or its affiliates. 25 All rights reserved. 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
  20. 20. Copyright © 2014, Oracle and/or its affiliates. 26 All rights reserved. Modelos de Distribuição de Aplicações Java
  21. 21. Copyright © 2014, Oracle and/or its affiliates. 27 All rights reserved. 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?
  22. 22. Copyright © 2014, Oracle and/or its affiliates. 28 All rights reserved. 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?
  23. 23. Copyright © 2014, Oracle and/or its affiliates. 29 All rights reserved. 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?
  24. 24. Copyright © 2014, Oracle and/or its affiliates. 30 All rights reserved. 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
  25. 25. Copyright © 2014, Oracle and/or its affiliates. 31 All rights reserved. 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
  26. 26. Copyright © 2014, Oracle and/or its affiliates. 32 All rights reserved. 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
  27. 27. Copyright © 2014, Oracle and/or its affiliates. 34 All rights reserved. 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
  28. 28. Copyright © 2014, Oracle and/or its affiliates. 36 All rights reserved. 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.
  29. 29. Copyright © 2014, Oracle and/or its affiliates. 38 All rights reserved.

×