33
Desenvolvimento Rápido de Aplicações JEE com JavaFX no Cliente

Desenvolvimento rápido de aplicações com JEE e JavaFX

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Desenvolvimento rápido de aplicações com JEE e JavaFX

Desenvolvimento Rápido de Aplicações JEE com

JavaFX no Cliente

Page 2: Desenvolvimento rápido de aplicações com JEE e JavaFX

Quem é William

Page 3: Desenvolvimento rápido de aplicações com JEE e JavaFX

Objetivo

Trazer ao desenvolvedor Java uma alternativa ágil na criação de aplicações

enterprise utilizando JavaFX e JEE, apresentando ferramentas e informações

relevantes para atingir esse objetivo

Page 4: Desenvolvimento rápido de aplicações com JEE e JavaFX

Agenda

● Parte I - Introdução as tecnologias usadas○ JEE (Java Enterprise Edition)○ JavaFX

● Parte II - Cenário atual e nova alternativa○ Sistemas WEB atuais e suas características○ Aplicações JEE com JavaFX no Cliente○ Desenvolvimento JEE○ Desenvolvimento JavaFX

● Parte III - Código e discussões○ Código○ Conclusão○ Dúvidas

Page 5: Desenvolvimento rápido de aplicações com JEE e JavaFX

PARTE I

Page 6: Desenvolvimento rápido de aplicações com JEE e JavaFX

JEE (Java Enterprise Edition)

Conjunto de especificações para construção de aplicações enterprise

implementadas por servidores de aplicação

JEE 6 (Atual) JEE 7 (Em Breve)

Page 7: Desenvolvimento rápido de aplicações com JEE e JavaFX

JEE:Especificações utilizadas

JAX-RSCriação de WEB Services utilizando RESTJPAPersistência de objetos CDIPara injeção de dependênciaEJBPara facilitar o gerenciamento de transações

Lembre-se: JEE engloba outras especificações também

Page 8: Desenvolvimento rápido de aplicações com JEE e JavaFX

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 9: Desenvolvimento rápido de aplicações com JEE e JavaFX

JavaFX: "vários recursos"

Fonte das imagens:: http://docs.oracle.com/javafx/

Page 10: Desenvolvimento rápido de aplicações com JEE e JavaFX

JavaFX: "vários recursos"

Page 11: Desenvolvimento rápido de aplicações com JEE e JavaFX

JavaFX:"forma de programar"

Java no cliente como você nunca viu

● CSS● GUI com XML: FXML● Ferramenta "arrasta-solta"● API: Binding e Listeners● Uso de DSL: VisageFX, Scala, Groovy...

Page 12: Desenvolvimento rápido de aplicações com JEE e JavaFX

JavaFX:"novo swing"

● Maior performance

● Multiplataforma: distruibuição da aplicação através de JNLP, Applet, JAR e instalador nativo: .rpm .exe...

● É parte da plataforma Java

● Open Source: OpenJFX

Page 13: Desenvolvimento rápido de aplicações com JEE e JavaFX

PARTE II

Page 14: Desenvolvimento rápido de aplicações com JEE e JavaFX

Sistemas WEB Atuais

BackendJEE, Spring , RoR, DJango... Frontend:Flex, HTML 5 + JS, JSF, JSP, Frameworks JS

Backend + Frontend:Vaadin, GWT...

Page 15: Desenvolvimento rápido de aplicações com JEE e JavaFX

Sistemas WEB Atuais:Possíveis problemas

● Múltiplas linguagens de programação

● Ausência de especificações

● Dificuldade de encontrar especialistas

● Dependência de framework

● Imaturidade das ferramentas

Page 16: Desenvolvimento rápido de aplicações com JEE e JavaFX

Sistemas WEB Atuais:Alternativa

Que tal mais uma alternativa?

Frontend+Backend: Java

● Sem Frameworks (exceto se você quiser)● Especificações ● JVM● Desenvolvimento rápido

Não é bala de prata!

Page 17: Desenvolvimento rápido de aplicações com JEE e JavaFX

Aplicações JEE com JavaFX no Cliente

ServidorJEE puro e portável

Cliente JavaFX utilizando FXML, CSS

Page 18: Desenvolvimento rápido de aplicações com JEE e JavaFX

JEE com JavaFX:Como fazer a comunicação?

● RMI○ Realizar Lookup de EJBs para invocação de

métodos de negócio

● HTML + JS○ Criar páginas HTML + JS e utilizar em uma app

JavaFX, utilizando recursos da plataforma

● WEB Services○ SOAP○ REST

Page 19: Desenvolvimento rápido de aplicações com JEE e JavaFX

JEE com JavaFX:Arquitetura Geral

Blog: http://www.guigarage.com/2013/05/designing-javafx-business-applications-part-1/

Page 20: Desenvolvimento rápido de aplicações com JEE e JavaFX

JEE com JavaFX:Cliente com MVP (Model View Presenter)

FXML

Classe "sabe tudo"

POJO

Page 21: Desenvolvimento rápido de aplicações com JEE e JavaFX

Desenvolvimento Rápido JEE

+

Page 22: Desenvolvimento rápido de aplicações com JEE e JavaFX

Desenvolvimento Rápido JavaFXScene Builder

+

Page 24: Desenvolvimento rápido de aplicações com JEE e JavaFX

Desenvolvimento Rápido JavaFX

Muitos outros frameworks e ferramentas

http://bit.ly/W93rko

Page 25: Desenvolvimento rápido de aplicações com JEE e JavaFX

PARTE III

Page 26: Desenvolvimento rápido de aplicações com JEE e JavaFX

Código

github.com/jesuino/crud-frameworks

Page 27: Desenvolvimento rápido de aplicações com JEE e JavaFX

Código:Outras possibilidades

Blog: http://www.guigarage.com/2013/05/designing-javafx-business-applications-part-1/

Page 28: Desenvolvimento rápido de aplicações com JEE e JavaFX

Código:Outras possibilidades

Blog: http://www.guigarage.com/2013/05/designing-javafx-business-applications-part-1/

Page 29: Desenvolvimento rápido de aplicações com JEE e JavaFX

● Ferramentas de geração de formulários baseado em POJO: FXForm2;

● Utilizar binding do Modelo para a camada de visão;

● Usar JAX-RS 2.0 e Bean Validation para incrementar o cliente;

● Facilitar a criação da visão com uma DSL;● ...

Código:Outras possibilidades

Page 30: Desenvolvimento rápido de aplicações com JEE e JavaFX

Futuro

JEE 7 mês que vem!Web Sockets, JSON, JAX-RS 2, CD 1.1..

Page 31: Desenvolvimento rápido de aplicações com JEE e JavaFX

Conclusão

O uso de JEE com JavaFX em aplicações "enterprise" se torna uma alternativa

atraente devido as ferramentas e tecnologias envolvidas, pois essas auxiliam

no desenvolvimento rápido de aplicações escaláveis e padronizadas.

Page 32: Desenvolvimento rápido de aplicações com JEE e JavaFX

Dúvidas?

Page 33: Desenvolvimento rápido de aplicações com JEE e JavaFX

Fim

Obrigado!

● http://twitter.com/william_antonio● http://aprendendo-

○ javafx.blogspot.com○ javaee.blogspot.com

● http://fxapps.blogspot.com