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. 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. 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. 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
10. Explicação MVP X MVC
Mais: http://joel.inpointform.net/software-development/mvvm-vs-mvp-vs-mvc-the-differences-explained/
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).
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. 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!
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. 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
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. 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