JSF para site web 2.0 [Resolvido]

Boa tarde a todos no Guj.
Gostaria da opinião de vocês sobre a escolha de um framework web para desenvolvimento de um site, com integração com mídias sociais, streaming, chat, etc.
O site pode ter que lidar com uma grande quantidade de acessos.
Eu trabalho com JSF há cerca de 2 anos, num sistema intranet. Estive pesquisando o vraptor e o play, gostei de ambos. Mas o prazo de entrega, como sempre, é curto
e JSF eu já conheço, entretanto não sei muito sobre integração com API’s externas, streaming, etc. Um outro framework, mesmo que mais produtivo, vai levar um tempo
para aprender.
Minha principal preocupação é com o desempenho que um sistema JSF vai ter com muitos usuários, e alguma limitação ao integrar essa aplicação com recursos
externos de mídias sociais, SEO, etc.
E caso seja mais interessante outro framework, action-based, Restful, etc, qual seria mais rápido para aprender, segundo a experiência que vocês já tiveram nas trincheiras?
Qualquer conselho, ou dica é válida.
Já agradeço antecipadamente a todos que contribuirem.

  1. JSF vai ter problemas com relação a muito acessos caso seja mau constrúido.
  2. Se a aplicação precisa ter um controle minucioso do css e javascript, não vá de JSF.
  3. A comunicação com redes sociais pode ser feita como em qualquer outra aplicação.
  4. Gosto do SpringMVC. Ouvi falar que o VRaptor é facil de usar, ainda não futuquei nele. [=

[quote=Hebert Coelho]1) JSF vai ter problemas com relação a muito acessos caso seja mau constrúido.
2) Se a aplicação precisa ter um controle minucioso do css e javascript, não vá de JSF.
3) A comunicação com redes sociais pode ser feita como em qualquer outra aplicação.
4) Gosto do SpringMVC. Ouvi falar que o VRaptor é facil de usar, ainda não futuquei nele. [=[/quote]

Hebert, em relação ao item 1 que você citou, o sistema ser mau construído, você que dizer em relação a escopos de MB’s, construção de páginas, podia dar algum exemplo?
E em relação ao controle do css e javascript, considerando que eu não use componentes jsf, e tente fazer as views “na mão”, como o JSF me limita? Eu
não poderia por exemplo, usar um componente jquery, na minha página xhtml, definir o css, e tags html, ao invés vez de componentes jsf?

Com experiência de 5 anos com Java, JSF e 4 mesês com Ruby on Rails… eu te digo que Ruby on Rails você consegue fazer coisas mais produtivas. Existe a curva de aprendizado, porém hoje em dia eu indico.

Trabalhei muito com JSF, atrelado a frameworks de UI como RichFaces e PrimeFaces… Todos deixam a desejar, pois você nunca tem o controle dos mesmos…

[quote=Anderson A.][quote=Hebert Coelho]1) JSF vai ter problemas com relação a muito acessos caso seja mau constrúido.
2) Se a aplicação precisa ter um controle minucioso do css e javascript, não vá de JSF.
3) A comunicação com redes sociais pode ser feita como em qualquer outra aplicação.
4) Gosto do SpringMVC. Ouvi falar que o VRaptor é facil de usar, ainda não futuquei nele. [=[/quote]

Hebert, em relação ao item 1 que você citou, o sistema ser mau construído, você que dizer em relação a escopos de MB’s, construção de páginas, podia dar algum exemplo?
E em relação ao controle do css e javascript, considerando que eu não use componentes jsf, e tente fazer as views “na mão”, como o JSF me limita? Eu
não poderia por exemplo, usar um componente jquery, na minha página xhtml, definir o css, e tags html, ao invés vez de componentes jsf?[/quote]Usa session scoped para tapar buracos já seria um problema. “funciona se colocar como session scoped, mas não sei pq”. Aí já está o primeiro sinal de problema.
Para fazer na mão você precisa de um reinderizador de html. Se você construir tudo do zero, você estaria criando o html, mas nunca vi muito essa abordagem não.

Vou falar oq Pete Muir falou na JUDCon: “Se você quer ter controle total sobre CSS/Javascript não use JSF”.

Quem é esse cara? Olhe aqui: http://docs.oracle.com/javaee/6/api/javax/enterprise/context/ConversationScoped.html

Ok, valeu Hebert. E em relação a outros frameworks, como vraptor, play, spring mvc, struts 2; alguém que usa ou já usou,
poderia falar algo sobre curva de aprendizado, produtividade. O Ruby on Rails, ou Python/Django, me dão um certo medo,
porque aí já é outra linguagem, sintaxe, etc, e o tempo é um recurso escasso atualmente pra mim (pra todo mundo na verdade),
mas nesse caso em especial…

No curso de arquitetura que fiz, a coisa mais citada era: “NÃO UTILIZAIS JSF PARA SITEEEEESSS”, depois de muitas pesquisas amigo, vi que realmente como o Hebert comentou um pouco, se for com muitas coisinhas de CSS e etc, não vá de JSF, JSF foi feita para contrução de Web Apps e não Sites. 1000000 x utilizar um Ruby on Rails ou um PHP para construir um site de que JSF, prefiro programar em Java com JSF, mas pra Sites? Nananinanão, bem melhor outras linguagens proprias pra lidar com o conteudo.

Abraços !

[quote=Hebert Coelho][quote=Anderson A.][quote=Hebert Coelho]1) JSF vai ter problemas com relação a muito acessos caso seja mau constrúido.
2) Se a aplicação precisa ter um controle minucioso do css e javascript, não vá de JSF.
3) A comunicação com redes sociais pode ser feita como em qualquer outra aplicação.
4) Gosto do SpringMVC. Ouvi falar que o VRaptor é facil de usar, ainda não futuquei nele. [=[/quote]

Hebert, em relação ao item 1 que você citou, o sistema ser mau construído, você que dizer em relação a escopos de MB’s, construção de páginas, podia dar algum exemplo?
E em relação ao controle do css e javascript, considerando que eu não use componentes jsf, e tente fazer as views “na mão”, como o JSF me limita? Eu
não poderia por exemplo, usar um componente jquery, na minha página xhtml, definir o css, e tags html, ao invés vez de componentes jsf?[/quote]Usa session scoped para tapar buracos já seria um problema. “funciona se colocar como session scoped, mas não sei pq”. Aí já está o primeiro sinal de problema.
Para fazer na mão você precisa de um reinderizador de html. Se você construir tudo do zero, você estaria criando o html, mas nunca vi muito essa abordagem não.

Vou falar oq Pete Muir falou na JUDCon: “Se você quer ter controle total sobre CSS/Javascript não use JSF”.

Quem é esse cara? Olhe aqui: http://docs.oracle.com/javaee/6/api/javax/enterprise/context/ConversationScoped.html[/quote]

Sem contar que o JSF é stateful. Ou seja, ele mantém o estado da view (e até onde eu me lembro do JSF 1.2, ele quarda o estado das últimas 15 view por padrão e é configurável).

Hebert, tentei ver sua palestra no JUDCon mas não consegui… =D

Espero que tenha gostado do evento.

[quote=rimolive]Sem contar que o JSF é stateful. Ou seja, ele mantém o estado da view (e até onde eu me lembro do JSF 1.2, ele quarda o estado das últimas 15 view por padrão e é configurável).

Hebert, tentei ver sua palestra no JUDCon mas não consegui… =D

Espero que tenha gostado do evento.[/quote]que pena, se fosse veria sobre a mais nova powerfull plus funcionalidade do JSF: stateless pages. [=

Mostrei também que esse número de 15 é configurável mas também é influenciado por outra configuração além do view ID, mas que a memória para 1000 usuários com sessões ativas para uma tela de 15kb mais ou menos (7 inputs e 2 botões) é de 15MB, ou seja, coisa pouca pra caramba. [=

Boa, conhecia as configurações. Além disso, há uma forma de comprimir essa informação (mas que na prática não muda nada). :smiley:

Eu já ouvi falar de stateless pages no JSF 2.2 mas não sabia se já estava certo isso.

[quote=rimolive]Boa, conhecia as configurações. Além disso, há uma forma de comprimir essa informação (mas que na prática não muda nada). :smiley:

Eu já ouvi falar de stateless pages no JSF 2.2 mas não sabia se já estava certo isso.[/quote]Já está disponível a partir da 2.1.19 [=
Oficialmente deve sair só na 2.2, mas o mojarra já tem essa opção. [=

Então; em relação a outros frameworks em Java, alguém que conheça pode dar alguma sugestão??
Spring MVC, Vraptor, Play. O Play me pareceu interessante, tem alguém que já tenha usado?

Cara, eu concordo com alguém que comentou sobre usar uma linguagem específica para conteúdos.

Uso VRaptor já a algum tempo e a curva dele de aprendizado é Ótima! você aprende rapidinho, a “desvantagem” dele no seu caso é que a parte de HTML, CSS e Javascript é por conta sua… mas nada que um bootstrap twitter não resolva…

Porém!!! Tive a péssima experiência de fazer um site usando Java.

É Querer matar uma barata com um revolver!

Se vai fazer um site, use PHP e Wordpress com seus milhões de milhares de plugins… vai ser mto mais fácil e RÁPIDO. Acredito que exista os plugins necessários para você fazer as integrações que você quer.

Mas caso queria fazer com Java, use VRaptor, não vai se arrepender!

:slight_smile:

[quote=Anderson A.]E em relação a outros frameworks, como vraptor, play, spring mvc, struts 2; alguém que usa ou já usou,
poderia falar algo sobre curva de aprendizado, produtividade.[/quote]
Já usei Struts2 e atualmente uso Spring MVC, onde achei a curva de aprendizado tranquila, tem muito conteúdo na rede por ser muito usado no mercado. Isso para servidor Linux. Se for servidor Windows recomendo ASP.NET MVC. Para sites principalmente, um Web Designer na equipe é quase obrigatório se quiser fazer algo realmente profissional de acordo com padrões atuais.

Honestamente, eu iria de PHP com algum framework, ou Ruby on Rails.

A curva de aprendizado é baixa. Mas como o prazo é apertado… play ou vraptor. A vantagem do vraptor é que tu tem diversos membros do GUJ que criaram (ou trabalham com) o framework, então qualquer dúvida pode ser sanada rapidamente. Já o play, achei bem fácil de aprender.

Tem esse post que o cara usou o play 1.2.5, e o site ficou muito bom: http://www.guj.com.br/java/297262-sistema-de-rastreamento-de-pacotes-dos-correios-e-usps-desenvolvido-com-o-play-framework

Abraço

Obrigado a todos. Acredito que, revendo hoje mesmo os requisitos, a gente vá usar o PHP mesmo. Porque em relação á programação
vai ser mais no sentido de distribuir o conteúdo via xml ou json, tipo feed, o resto vai ter que ser CSS, Javascript, HTML, Jquery, etc.
Abraços.

[quote=Anderson A.]Obrigado a todos. Acredito que, revendo hoje mesmo os requisitos, a gente vá usar o PHP mesmo. Porque em relação á programação
vai ser mais no sentido de distribuir o conteúdo via xml ou json, tipo feed, o resto vai ter que ser CSS, Javascript, HTML, Jquery, etc.
Abraços.[/quote]
Único problema do PHP é quando o site ou sistema se torna complexo no futuro.

[quote=javaflex][quote=Anderson A.]Obrigado a todos. Acredito que, revendo hoje mesmo os requisitos, a gente vá usar o PHP mesmo. Porque em relação á programação
vai ser mais no sentido de distribuir o conteúdo via xml ou json, tipo feed, o resto vai ter que ser CSS, Javascript, HTML, Jquery, etc.
Abraços.[/quote]
Único problema do PHP é quando o site ou sistema se torna complexo no futuro.[/quote]+1

Tem que realmente fica esperto com isso.

Olá pessoal, quero melhorar o desempenho do meu site é acredito que isso, seja o desejo de muitos desenvolvedores Web,
estou usando JSF, PrimeFaces, CDI e JPA

Minha intenção neste Forum é discutir sobre o desempenho (Performasse) , perguntado para saber d queme já passo por isso
quais as melhores praticas para melhorar de desempenho.

Minha contribuição: Por Default o JPA e “FetchType.EAGER” ou seja quando executamos HQL, no banco de dados “select u from Usuario u” ele faz sub consultas em todas as classes relacionadas a "Usuario"
ou seja junto ao usuário vem o endereço, nacionalidade, e todas informações do usuário, gostaria de saber o custo disso, “Isso pode deixa a aplicação Lenta ?”

FORA DA PERGUNTA>> Quando fazemos consultas no banco de dados usando o mapeamento de objetos, trazemos os Objetos com seus atributos preenchidos, mandamos eles para a tela sem nem um tratamento
ou seja.
Sé buscarmos um usuário no banco é ele possuir um lista com um linhão de registros e mandarmos ele ser apresentado na tela ira levar todos esses registros com ele. é pode ser que nem usemos todos esses registros isso deixa o sistema mais lento. Não vemos a lista no código montado pela JSF, mas ele esta la no HTTP Request

Essa foi minha contribuição quero levantar mais discussões como essa