5 técnicas para acelerar o desenvolvimento e reduzir bugs em aplicações web

Post on 05-Apr-2017

135 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Java WEB

5 Técnicas para acelerar o desenvolvimento e reduzir Bugs

em aplicações WEB

1

E-Book gratuito - NoBugsProject

http://eepurl.com/cCGHQDOu

2

Vamos usar qual tecnologia?

3

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

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

Component Based X Action Based

Component Based:JSF

TapestryWicket

Action Based:Spring MVC

Apache StrutsVraptorGrails

6

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

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

Fases do JSF

9

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

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

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

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.

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.

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.

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

Code Time

Agora vamos ver o código!

17

Contato

18

Dúvidas rafacdelnero@gmail.com

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

top related