5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

18
Java WEB 5 Técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB 1

Transcript of 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Page 1: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Java WEB

5 Técnicas para acelerar o desenvolvimento e reduzir Bugs

em aplicações WEB

1

Page 2: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

E-Book gratuito - NoBugsProject

http://eepurl.com/cCGHQDOu

2

Page 3: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Vamos usar qual tecnologia?

3

Page 4: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Desvantagens do JSF

• Usa um pouco mais de recursos de performance• Impossibilita reuso de protótipo• Abstrai muito a parte Web• Mantém muito retro compatibilidade• Não é tão flexível quanto outros frameworks• Ignora paradigma REST

4

Page 5: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Vantagens do JSF• Produtividade alta• Faz parte da especificação Java EE• Existem muitos profissionais que conhecem o JSF• É muito parecido com HTML na parte da view• Não é tão lento como pensam se usado da forma certa• Documentação rica• Muitas implementações da especificação JSF• Muitas extensões como por exemplo o Primefaces, Trinidad, Richfaces..• Fácil integração com os frameworks mais utilizados como Spring, especificações JPA, EJB,

etc...• Está em segundo lugar dos frameworks mais usados no mundo perdendo somente para o

Spring MVC

5

Page 6: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Component Based X Action Based

Component Based:JSF

TapestryWicket

Action Based:Spring MVC

Apache StrutsVraptorGrails

6

Page 7: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Implementações do JSF• Mojarra que é a implementação da SUN (GlassFish),

também (mais) conhecida como JSF RI.• Myfaces como a implementação open source da Apache• ADF Faces da Oracle• A implementação da BEA (já vem embutido WebLogic)• A implementação da IBM (já vem embutido WebSphere)• Backbase• NetAdvantage

7

Page 8: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Extensões do JSFComponentes:• PrimeFaces - https://www.primefaces.org/showcase• RichFaces - http://showcase.richfaces.org/• ICEfaces - http://icefaces-showcase.icesoft.org/showcase.jsf• Omnifaces - http://showcase.omnifaces.org/

• Templates• Facelets

8

Page 9: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Fases do JSF

9

Page 10: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Restore View PhaseEssa fase começa quando uma requisição de uma página JSF é

feita através de um link ou botão clicado.

Durante esta fase, a implementação JSF constrói a “view” da página em manipulações de eventos, validadores que são salvos

na instância do FacesContext. É permitido resgatar todas as informações necessárias para processar uma simples requisição.

Podemos ter acesso aos componentes do XHTML através da classe UIViewRoot, também temos as classes HtmlForm,

HtmlOutputText, HtmlCommandButton, etc..

10

Page 11: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Apply Request Values PhaseNessa fase, a árvore de componentes da página é restaurada

com os valores que foram enviados na requisição. Esses valores são obtidos através da requisição, que é aplicada ao componente em memória e não à propriedade da classe Bean para a qual o

componente aponta.

Existe um cenário em que quando um componente estiver configurado com o atributo immediate=”true”, o valor dele será diretamente ligado à propriedade na classe Bean. Esse atributo

tem a característica de tornar a aplicação imediata dos valores na classe Bean para o componente.

11

Page 12: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Process Validations Phase

Durante essa fase, o JSF executa todos os validadores e valores registrados que possuem a configuração do campo com o

atributo required=”true”, validators..

12

Page 13: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Update Model Values Phase

13

Nessa fase, os valores já estão validados e registrados nos componentes que serão atribuídos à respectiva propriedade na classe Bean. Esse processo envolve conversores dos tipos de dados, como por exemplo, conversores personalizados ou data e número.

Page 14: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Invoke Application Phase

14

Nessa fase, o JSF manipula qualquer nível de evento da aplicação, desde o envio de um formulário ou chamada para outra página através de um link. Depois que todos os valores já estarem validados, convertidos e atribuídos para as propriedades da classe Bean, se for o caso, o JSF adicionará o método da classe Bean que adicionou a requisição. Geralmente são eventos que retornam uma String, que está associada a uma navegação de uma página dentro da aplicação.

Page 15: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Render Response Phase

15

Por ser a fase final, é exigida que quando a página for construída e devolvida para o browser, o JSF solicite que cada componente de tela que têm suas propriedades, comportamentos e forma, faça a geração do próprio HTML.

Page 16: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Quais são as 5 técnicas?

16

1. Manipulação efetiva das fases do JSF2. Uso efetivo de Ajax nas telas JSF3. Uso efetivo de escopos do JSF4. Reusar componentes prontos5. Usar Facelets

Page 17: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Code Time

Agora vamos ver o código!

17

Page 18: 5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB

Contato

18

Dúvidas [email protected]

GitHubhttps://github.com/rafadelnero/presentations

Twitter

https://twitter.com/RafaDelNero

Linkedinhttps://br.linkedin.com/in/rafadelnero

Android Apphttps://play.google.com/store/apps/details?id=br.com.mediaUniversidadesAndroid