Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP

4.955 visualizações

Publicada em

Apresentação para o TDC 2014 sobre como melhorar seu código JavaFX quando criando aplicações sérias ("enterprise") com JavaFX

Publicada em: Tecnologia
0 comentários
4 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
4.955
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3.050
Ações
Compartilhamentos
0
Downloads
73
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP

  1. 1. Boas práticas na criação de aplicações SÉRIAS com JavaFX
  2. 2. == AVISO == “Este é uma apresentação pessoal. As opiniões aqui expressadas são de única responsabilidade minha, e nada referem-se as da empresa para qual trabalho.”
  3. 3. Sobre ● Formado na FATEC SJC ● Trabalha no suporte da Red Hat ● Na área há mais de 6 anos ● Entusiasta Open Source ● Um dos líderes do JUG Vale ● Comunidade JavaFX ● Palestras no TDC, J1, FISL, etc... ● aprendendo-javafx.blogspot.com
  4. 4. Objetivo dessa apresentação Nessa apresentação iremos mostrar as melhores práticas que podem auxiliar na criação de aplicações "sérias" com JavaFX. Com os recursos da nova biblioteca gráfica da plataforma Java, iremos mostrar como é possível criar uma aplicação "enterprise" organizada em camadas bem definidas e de fácil manutenção.
  5. 5. JavaFX É uma moderna biblioteca Java que dispõe de vários recursos para criação de aplicações ricas. Sua forma de programar facilita muito a vida do desenvolvedor. É o novo Swing
  6. 6. JavaFX http://aprendendo-javafx.blogspot.com.br/
  7. 7. Aplicações Sérias? ● Escaláveis ● Fácil manutenção ● Fácil entendimento ● Organização (time) ● Performance ● Usabilidade ● Resolvem problemas “enterprise"
  8. 8. 0) Bons e velhos Padrões de projeto Boas práticas Java: http://docs.oracle.com/cd/A97688_16/generic.903/bp/java.htm
  9. 9. 1) Camadas http://joel.inpointform.net/software-development/mvvm-vs-mvp-vs-mvc-the- differences-explained/
  10. 10. Explicação MVP X MVC Mais: http://joel.inpointform.net/software-development/mvvm-vs-mvp-vs-mvc-the-differences-explained/
  11. 11. Camadas no mundo JavaFX FXML representam as views que têm um controller; Controllers acessam o modelo(classes que representam a regra de negócio) e alteram a view. O acesso dos controlers ao modelo, no entanto, é feito indiretamente através de classes de acesso(DAO, Service).
  12. 12. Camadas no mundo JavaFX
  13. 13. 2) Utilize “Binding” JavaFX contém objetos de “wrapping” para propriedades comum do Java. Esses wrappers permitem observar os valores das propriedades(listener) ou fazer com que propriedades se comportem em função de outras (bind) Fonte: http://www.oracle.com/technetwork/articles/java/fxbest-1583679.html http://docs.oracle.com/javafx/2/binding/jfxpub-binding.htm
  14. 14. Usando Binding Com essas técnicas diminuimos bastante código na aplicação e facilitamos a manutenção e a legibilidade. Bindings funcionam para diversos tipos primitivos e com diversas expressões de binding, fazendo com que o código fique praticamente em inglês puro!
  15. 15. Usando listeners
  16. 16. 3) Navegação FXML Interfaces podem ser criadas usando XML com o FXML. FXMLs devem ser carregados como componentes JavaFX para serem usados… Criar uma classe de navegação com metódos utilitários de navegação e acesso centralizado é recomendável! Mais:https://blogs.oracle. com/acaicedo/entry/managing_multiple_screens_in_javafx1
  17. 17. 4) Não trave a thread do javafx JavaFX tem uma thread específica. Tentativas de mudar a view do JavaFX fora dessa thread resultam em erro. Platform.runLater deve ser usado para fazermos as coisas dentro da thread do JavaFX. Para tarefas pesadas que devem ser feitas em paralelo, use as classes do pacote de concorrência do JavaFX. Mais: http://docs.oracle.com/javafx/2/best_practices/jfxpub-best_practices.htm http://docs.oracle.com/javafx/2/threads/jfxpub-threads.htm
  18. 18. Exemplo com o leitor de RFID
  19. 19. 5) Aprenda a usar CSS ● Conheça o Guia do CSS; ● Similar a páginas WEB, use classes ● Eviter fazer no código o que você pode fazer no CSS ● Busque estudar a aplicação e entender o estilo antes de começar a sair espalhando CSS Mais: http://docs.oracle.com/javase/8/javafx/api/javafx/scene/doc-files/cssref.html
  20. 20. 6) Organize bem o projeto ● Nomes convenientes a componentes da view(lbl, txt, tbl, etc) controllers({NomeView}Controller),FXML e css; ● Padronize a localização de conteúdos da aplicação Mais: http://docs.oracle.com/javafx/2/best_practices/jfxpub-best_practices.htm
  21. 21. Exemplo de estrutura de projeto
  22. 22. 7) Programe com amor Fonte: a vida
  23. 23. Obrigado @william_antonio github.com/jesuino aprendendo-javafx.blogspot.com

×