Olá Daniel tudo bem?
Acredito que eu posso dar uma opinião a respeito
Primeiro lugar, sobre a pergunta do tópico: SIM, ele é eficiente e eficaz
No projeto que estou atualmente tive que fazer alguns testes de conceito em cima do ADF Faces e outras implementações. Acabamos optando por ficar com a implementação RI + ajax4jsf pelo fato de o ADF Faces não suportar esse framework. Mais adiante começamos a utilizar o MyFaces + Tomahawk pois houve necessidade de implementar novas (e mais complexas) coisas (tal como calendário), e sim, estamos todos usando essas ferramentas no JDeveloper, seguindo a especificação do faces 1.1.
O MyFaces/Tomahawk é uma das únicas implementações que possui a Sun Technology Compatible Kit (TCK), ou seja, para todas as implementações que seguirem esse TCK, serão compativel com o MyFaces. Sem contar que o MyFaces é compatível com ajax4JSF, com Facelets e com RichFaces Platform.
Eu sinceramente acho MUITO MAIS FÁCIL fazer uma página ajax-enabled com faces, porque:
- Você não usa javascript
- Muitos componentes trabalham automaticamente como “view-helpers”
- Você não tem stress de ficar gerando XMLs por Servlets (tá, foi um exemplo tosco) ou utilizar protocolo JSON pra acessar dados de classes Java
- o ajax4JSF torna muito fácil o desenvolvimento, com UMA TAG você faz o seu componente ficar “ajax-enabled” e prontoooo, ele também possui
- criar componentes no faces é fácil
O ADF tem uma vasta biblioteca de componente, mas sinceramente, eu acho aqueles componentes feios (…), não são compatíveis com ajax4jsf e não me informei se funciona certinho com o facelets. Pra mim, que sou desenvolvedor e não web-designer, eu simplemente pego páginas prontas, troco uma ou outra tag (porque o facelets vai gerar toda a minha página faces do html) e tá pronto, não tenho necessidade de ferramentas visuais pra criar páginas.
Pra criar sisteminhas pequenos de crud, entre ADF Faces e MyFaces eu prefiro RoR
rsrs
Bom espero ter ajudado
Valeu