Qual a melhor maneira de criar uma interface visual para o cliente

Olá pessoal. tenho estudado mto sobre java.
Estou começando agora com o JSF e Frameworks((prime|rich|ice)faces)

a primeira pergunta é: Devo utilizar JSF com esses frameworks ou utilizar frameworks js mesmo (jQuery, Dojo Toolkit, ExtJS)?
a segunda é: Com o surgimento da arquitetura Restful não seria melhor separar a views e só retornar os dados da requisição com o java e criar minhas interfaces gráficas com js puro?

Alguém ae disposto a conversar sobre esse assunto?

desde já obrigado

[quote=ericrf]Olá pessoal. tenho estudado mto sobre java.
Estou começando agora com o JSF e Frameworks((prime|rich|ice)faces)

a primeira pergunta é: Devo utilizar JSF com esses frameworks ou utilizar frameworks js mesmo (jQuery, Dojo Toolkit, ExtJS)?
a segunda é: Com o surgimento da arquitetura Restful não seria melhor separar a views e só retornar os dados da requisição com o java e criar minhas interfaces gráficas com js puro?

Alguém ae disposto a conversar sobre esse assunto?

desde já obrigado [/quote]
Se você gosta da maneira clássica de desenvolvimento web HTML/JQuery fuja de JSF, que é mais indicado para quem gosta de programar igual desktop com UI gerenciada. Use algum framework baseado em action e front end independente de servidor, como bootstrap ou jqueryUI, a vantagem é ter mais liberdade para realidade do resultado web.

Sobre JS puro, esses frameworks MVC e MVVM JavaScript não tenho o que falar na prática profissional, mas pelo que já vi em exemplos não me motivou em nada trabalhar dessa forma, claro que tem a vantagem de deixar o client menos dependente de programação servidor (que passa a lidar mais com dados). Particularmente só usaria para webapp e se o mercado passasse a adota-lo no geral em maioria considerável.

@javaflex obrigado pela resposta…

oque acontece é que eu vejo q o mercado da web está crescendo muito e hj em dia com html5, css3 e layouts responsivos percebi q a melhor forma de se trabalhar é realmente separando o servidor do cliente…
afinal como voce mesmo falou tenho mais liberdade pra trabalhar com o front-end de uma aplicação.

eu tenho conhecimentos bem avançados sobre jQuery e Dojo Toolkit e bem básico de ExtJS

e pelo que eu vi todos os 3frameworks jsf são baseados em jquery então caí nesse problema “aprender ou não o JSF” e sabendo que me viro mto bem com esses frameworks js pensei então pra que perder tempo aprendendo algo q na minha cabeça vai dificultar oque eu já acho simples…

não tenho muita experiencia em java. comecei com java a base de 1mes. programava em PHP antes

Estou aprendendo spring/struts e hibernate e gostaria de trabalhar de forma “rest” pois como já disse vejo a futuro aí.

[quote=ericrf]@javaflex obrigado pela resposta…

oque acontece é que eu vejo q o mercado da web está crescendo muito e hj em dia com html5, css3 e layouts responsivos percebi q a melhor forma de se trabalhar é realmente separando o servidor do cliente…
afinal como voce mesmo falou tenho mais liberdade pra trabalhar com o front-end de uma aplicação.

eu tenho conhecimentos bem avançados sobre jQuery e Dojo Toolkit e bem básico de ExtJS

e pelo que eu vi todos os 3frameworks jsf são baseados em jquery então caí nesse problema “aprender ou não o JSF” e sabendo que me viro mto bem com esses frameworks js pensei então pra que perder tempo aprendendo algo q na minha cabeça vai dificultar oque eu já acho simples…

não tenho muita experiencia em java. comecei com java a base de 1mes. programava em PHP antes

Estou aprendendo spring/struts e hibernate e gostaria de trabalhar de forma “rest” pois como já disse vejo a futuro aí.[/quote]
Então não use mesmo JSF, use algum framework action based como Spring MVC por exemplo, assim terá total liberdade para usar diretamente sempre HTML, CSS e jQuery, do jeito que o mundo web mais usa, e será similar a maneira de pensar do PHP usando Zend Framework. Sobre front end, o ExtJS é muito intrusivo, Dojo não conheço, te recomendo o Bootstrap e outras coisas mais especiais como gráficos estatísticos você usa plugins jquery individualmente.

Já sobre usar “JS puro”, com framework MVC/MVVM JS como AngularJS por exemplo (não sei se é relacionado a isso que está falando quando se refere a “JS puro”), mas acho radical demais, para quem gosta tá valendo. Não costumo trabalhar com futuro improvável (em relação a frameworks MVC/MVVM JS para uso geral), importante é ter a base de tudo para encarar tranquilamente novas formas que venham a dominar o mercado, mas é indispensável conhecer e acompanhar.

Então te recomendo Spring MVC com front Bootstrap. Exemplo focado em REST: http://www.mkyong.com/spring-mvc/spring-3-rest-hello-world-example/ Exemplo completo: http://www.simpledev.com.br/simplificando-springmvc.html

@javaflex
mais uma vez obrigado esse papo me ajudou mto!

o endereço do bootstrap JS é : http://twitter.github.com/bootstrap/javascript.html
Pelo q percebi é idêntico ao jQuery…

então agora só preciso focar um pouco mais no spring com as “based configs” pra facilitar a escrita…

[quote=ericrf]@javaflex
mais uma vez obrigado esse papo me ajudou mto!
o endereço do bootstrap JS é : http://twitter.github.com/bootstrap/javascript.html
Pelo q percebi é idêntico ao jQuery…
[/quote]
Blz, é esse endereço mesmo. A vantagem dele em relação ao jQueryUI é ter grid system integrado para facilitar layout de formulários, além disso layout responsivo a resoluções de vídeo diferentes, podendo se adequar a celulares por exemplo.