SlideShare uma empresa Scribd logo
Boas práticas na criação de aplicações
SÉRIAS com JavaFX
== 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.”
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
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.
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
JavaFX
http://aprendendo-javafx.blogspot.com.br/
Aplicações Sérias?
● Escaláveis
● Fácil manutenção
● Fácil entendimento
● Organização (time)
● Performance
● Usabilidade
● Resolvem problemas “enterprise"
0) Bons e velhos Padrões de projeto
Boas práticas Java: http://docs.oracle.com/cd/A97688_16/generic.903/bp/java.htm
1) Camadas
http://joel.inpointform.net/software-development/mvvm-vs-mvp-vs-mvc-the-
differences-explained/
Explicação MVP X MVC
Mais: http://joel.inpointform.net/software-development/mvvm-vs-mvp-vs-mvc-the-differences-explained/
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).
Camadas no mundo JavaFX
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
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!
Usando listeners
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
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
Exemplo com o leitor de RFID
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
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
Exemplo de estrutura de projeto
7) Programe com amor
Fonte: a vida
Obrigado
@william_antonio
github.com/jesuino
aprendendo-javafx.blogspot.com

Mais conteúdo relacionado

PDF
JavaFX: Desktop para desenvolvedores WEB
PDF
Introdução ao JavaFX
PPT
JavaFx - Guia Prático
PDF
JavaFX 8, Collections e Lambdas
PDF
JavaFX 2 - TDC 2012
PDF
Desenvolvimento rápido de aplicações com JEE e JavaFX
PPTX
Criando aplicações java fx em minutos
PPTX
Chega de lendas! JavaFX em Android
JavaFX: Desktop para desenvolvedores WEB
Introdução ao JavaFX
JavaFx - Guia Prático
JavaFX 8, Collections e Lambdas
JavaFX 2 - TDC 2012
Desenvolvimento rápido de aplicações com JEE e JavaFX
Criando aplicações java fx em minutos
Chega de lendas! JavaFX em Android

Mais procurados (20)

PDF
JavaFX: A nova biblioteca gráfica da plataforma Java
PDF
Introdução ao java fx e visage
PDF
JavaFX 2
PDF
Introdução ao LiveOak
PPTX
JavaFX - Uma visão Geral
PPTX
Aplicações ricas com JavaFX 2
PDF
Ria e Java FX
PPTX
PDF
Conectando jBPM com o mundo - TDC 2014 SP
PPTX
Jclouds jug vale
PDF
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
PDF
Rest web services com Java
PDF
Desafios de um desenvolvedor JSF
PDF
Groovy stack
PPTX
PDF
JEE nas nuvens: uma introdução ao openshift
PPT
Palestra Sepai Alfredofurtado Introducao Ao Javafx
PDF
Java Web Fácil com VRaptor
PDF
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
PPTX
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
JavaFX: A nova biblioteca gráfica da plataforma Java
Introdução ao java fx e visage
JavaFX 2
Introdução ao LiveOak
JavaFX - Uma visão Geral
Aplicações ricas com JavaFX 2
Ria e Java FX
Conectando jBPM com o mundo - TDC 2014 SP
Jclouds jug vale
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Rest web services com Java
Desafios de um desenvolvedor JSF
Groovy stack
JEE nas nuvens: uma introdução ao openshift
Palestra Sepai Alfredofurtado Introducao Ao Javafx
Java Web Fácil com VRaptor
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Anúncio

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

PDF
Introdução ao JavaFX
PDF
JavaFx - Introdução
PDF
Hello World JavaFX
ODP
Java Fx Guia De IntroduçãO
PDF
JavaFX 1.2
PDF
JavaFX 1.2
DOC
PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...
PPT
Usando JavaFx No Desenvolvimento De Jogos
PPTX
JavaFX SestInfo 2010
PPTX
MVVM Deep Dive - Paulo Aboim Pinto
PPTX
Utilizando o Padrão Presentation Model em Aplicações Flex
PPT
WEB 2 - Aula 01 - 02.08
ODP
JavaFX Primeiros Passos
PPTX
4º FastShow - WPF Windows Presentation Foundation Overview
PPT
Padrão Arquitetural MVC e suas aplicações para WEB
PDF
Camada de Negócios de Verdade com Spring
PDF
Boa Práticas no Desenvolvimento Java Enterprise
DOCX
Camadas
PDF
Introdução ao JavaFX
JavaFx - Introdução
Hello World JavaFX
Java Fx Guia De IntroduçãO
JavaFX 1.2
JavaFX 1.2
PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...
Usando JavaFx No Desenvolvimento De Jogos
JavaFX SestInfo 2010
MVVM Deep Dive - Paulo Aboim Pinto
Utilizando o Padrão Presentation Model em Aplicações Flex
WEB 2 - Aula 01 - 02.08
JavaFX Primeiros Passos
4º FastShow - WPF Windows Presentation Foundation Overview
Padrão Arquitetural MVC e suas aplicações para WEB
Camada de Negócios de Verdade com Spring
Boa Práticas no Desenvolvimento Java Enterprise
Camadas
Anúncio

Último (11)

PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Eng. Software - pontos essenciais para o início
PPTX
Design - Introdução a Gestalt e teoria das formas
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Utilizando code blockes por andre backes
PPTX
Tipos de servidor em redes de computador.pptx
Viasol Energia Solar -Soluções para geração e economia de energia
Arquitetura de computadores - Memórias Secundárias
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Eng. Software - pontos essenciais para o início
Design - Introdução a Gestalt e teoria das formas
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Manejo integrado de pragas na cultura do algodão
Utilizando code blockes por andre backes
Tipos de servidor em redes de computador.pptx

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

  • 1. Boas práticas na criação de aplicações SÉRIAS com JavaFX
  • 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
  • 7. Aplicações Sérias? ● Escaláveis ● Fácil manutenção ● Fácil entendimento ● Organização (time) ● Performance ● Usabilidade ● Resolvem problemas “enterprise"
  • 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
  • 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
  • 18. Exemplo com o leitor de RFID
  • 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
  • 21. Exemplo de estrutura de projeto
  • 22. 7) Programe com amor Fonte: a vida