JavaEE? Para onde
      você está indo?



Conheça, compare e
saiba escolher o melhor
                          Rafael Carneiro
                          www.rafaelcarneiro.com


framework web
                   
Rafael Carneiro
    ✔   Analista de sistemas na TBM Têxtil
    ✔   5 anos com Java
    ✔   JUG Leader do CEJUG
    ✔   Moderador do GUJ e PortalJava
    ✔   Faz open source com GUJ3 e JForum

    ✔   Estudando novas linguagens
                           
Experiência com frameworks

    ✔
        Struts: 4++ anos
    ✔
        JSF: 2++ anos
    ✔
        VRaptor: 6++ meses

                   
Experiência com frameworks

    ✔
        Wicket, Struts 2 e
        Mentawai: Hello world
    ✔
        Frameworks caseiros: 2 anos




                                       
Você sabe o que
    é um framework?

            
Problemas 
                        Não são design
    comuns
                        patterns!



    Estrutura que
    fornece             Mecanismo
    reusabilidade       interligado

                     
Quantos frameworks
                existem?

             
     
     
E muitos outros que
eu esqueci de
mencionar ...


             
São muitas
    opções...

                 
Como
        escolher?

     
Tipos de
    Frameworks ...

             
Action­based


Component-based
             
Action­based




             
Component-based




        
Considerações
      básicas...

        
Curva de             Casos de sucesso
    aprendizado
                                   Testes
     Maturidade          Suporte

Convention over
                         Comunidade
configuration
                          Injeção de

 
      POJO centric
                      
                          dependência
Considerações
      técnicas...



              
Conversão
    Validação
                       Resources

Suporte a testes          Extensibilidade

Upload/Download    Internacionalização


     Dispatching       Suporte a AJAX
                    
Juntando tudo ...




              
Considerações ...

                Escolha
      Básicas          Técnicas



                    
E quem toma a
    decisão?


           
O gerente ?




          
     
Ou seria o desenvolvedor,
    arquiteto ou líder técnico?




                  
Sang Shin
           recomenda
           JSF
    javapassion
             
Rafael Carneiro
    recomenda ...



              
o que melhor se
     adapta a sua
       situação!
             
Más
        práticas...

     
Frameworks
 
     caseiros
             
Frameworks caseiros não são
    arquiteturas de referência, não
    são padronizados, não possuem
    uma comunidade em volta para
    dar apoio e não são padrões da
    indústria de software.
                    
Não reinvente
    a roda...

       
Tempo
e dinheiro
serão gastos...
              
Utilize o que já existe
de consolidado no
mercado …



               
Não consegui
esconder …



          
Experiência com frameworks

    ✔
        Wicket, Struts 2 e
        Mentawai: Hello world
    ✔
        Frameworks caseiros: 2 anos




                                       
Frameworks
Caseiros: 2 anos
          
Vergonha!



       
Bala de
    prata ...

                 
Não existe bala
    de prata, cada caso
    é um caso!
              
Frameworks
    obsoletos ...
        
“Toda vez que você usa
Struts, Deus mata um bebê
foca!”




              
Frase do Carlos Villela
em 2004 no GUJ...


            
2004?
         
Isso mesmo!


Em 2004!


2009 – 2004 = 5 anos!
                   
Hands on...


              
Saia dessa palestra
    lembrando apenas de
    uma coisa...


              
Não use frameworks
    caseiros!
            
Referências
    ✔   http://javapassion.com/ 
    ✔   http://raibledesigns.com/
    ✔   http://jacques.dsc.ufcg.edu.br/
    ✔   http://www.flickr.com/photos/purplemattfish/3918004
    ✔   Imagens: Flickr e Google Images



                                
Agradecimentos




           
E a você!



     
Obrigado!


         
+


     
Prêmio Universitário
           Java


           2009
              
Rafael Carneiro

    rafaelcarneiro.com

       @rcarneiro
             

Como escolher um framework web