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

23
Boas práticas na criação de aplicações SÉRIAS com JavaFX

description

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

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

Page 1: 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

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

== 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.”

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

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

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

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.

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

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

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

JavaFX

http://aprendendo-javafx.blogspot.com.br/

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

Aplicações Sérias?

● Escaláveis● Fácil manutenção● Fácil entendimento● Organização (time)● Performance● Usabilidade● Resolvem problemas “enterprise"

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

0) Bons e velhos Padrões de projeto

Boas práticas Java: http://docs.oracle.com/cd/A97688_16/generic.903/bp/java.htm

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

1) Camadas

http://joel.inpointform.net/software-development/mvvm-vs-mvp-vs-mvc-the-differences-explained/

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

Explicação MVP X MVC

Mais: http://joel.inpointform.net/software-development/mvvm-vs-mvp-vs-mvc-the-differences-explained/

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

Camadas no mundo JavaFXFXML 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).

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

Camadas no mundo JavaFX

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

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.htmlhttp://docs.oracle.com/javafx/2/binding/jfxpub-binding.htm

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

Usando BindingCom 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!

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

Usando listeners

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

3) Navegação FXMLInterfaces 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

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

4) Não trave a thread do javafxJavaFX 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

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

Exemplo com o leitor de RFID

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

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

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

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

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

Exemplo de estrutura de projeto

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

7) Programe com amor

Fonte: a vida

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

Obrigado

@william_antoniogithub.com/jesuinoaprendendo-javafx.blogspot.com