Site JSF

Fala pessoal do GUJ, tudo bem?

Preciso da ajuda de vocês.
Recentemente comecei a trabalhar desenvolvendo sites em JSF. Terminei um projeto a pouco (www.salaoparaiso.com.br).
Mas notei um comportamento que até então eu nunca tinha visto. O site demora muito para entrar, na realidade ele fica um tempão na tela branca carregando, e só depois mostra tudo (quase q de uma só vez).

Meu cliente achou esse comportamento estranho, e alega que o certo era ir carregando o site aos poucos, para que os usuários não saiam da página antes do site carregar.

Esse comportamento é normal para um site feito com JSF? Usei tb JQuery, puxando a biblioteca do PrimeFaces.

Um grande abraço a todos

Bom, a primeira vez que vc acessa uma pagina em JSF é normal ele demorar um pouco mais, pois a primeira vez ele “CRIA” a arvore de estrutura do componentes e armezana para os proximos acesso.
Quando você acessa a pagina pela segunda vez, essa estrutura já esta criada então ele apenas procurar a arvore de estrutura pelo id e recarrega a pagina.

Conclusão, realmente é normal ele demorar uma pouco mais no primeiro acesso.
Porem existe outros fatores arquiteturais que devemos levar em conta…

Att.

onde vc hospedou o site?

Então, hospedei na Integrator.

Creio que não seje a hospedagem, acredito que o que o erickfm8 disse esteja correto. Sendo esse o caso, será que pode prejudicar sistemas de buscas com o do Google?

Valeu gente

Pode ser tambem as imagens que vc esta usando, o tamanho ta imagem influência muito
no carregamento do site!

Mais ele carregou rapido aqui.

Valeu alexandrefuente! É estou dando uma otimizada nas imagens, mas o ganho foi pouco, testando em alguns sites percebi que a biblioteca do Primefaces demora um pouco para carregar.

Estou fazendo agora uma página index.html redirecionar para a página inicial do site (home.jsf), com um loading, não vai melhorar a performance, mas da uma maquiada!

Valeu gente!

Problema maior eu acho que é esse banner com as imagens.
Ache uma maneira de não precisar recarregar ele todo a vez que o usuário seleciona um item no menu.
Esse tipo de recurso Javascript, não sei se é JQuery que está usando, acaba demorando mais para a pagina se montada.

Trazendo esse tópico a vida para talvez ajudar ao RSekine ou quem venha pesquisar sobre o mesmo problema.

Primefaces(PF) é um Framework que uso e aconselho a qualquer pessoa usar, mas claro que seu uso deve ser feito com cautela.

Na minha opinião e acredito que há de muitos outros é que, o PF só é indicado para aplicações web e não para paginas estáticas justamente pelo seu consumo alto de recursos do servidor, ou seja, essa demora que ocorre ao iniciar a pagina do nosso amigo RSekine é justamente o PF carregando suas dependências o que leva um tempo demasiado elevado que realmente nos causa problemas com nossos clientes.

Vamos deixar bem claro que o problema não é o JSF, basta remover os componentes do PF que a pagina carrega tão rápido quanto qualquer outra feita com outra tecnologia, PHP por exemplo.

Resumindo…
Primefaces: Aplicações WEB com um Servidor dedicado próprio ou contratado com recursos específicos para essa finalidade.
Sites Estáticos: Pode ser feito em JSF sem problemas, caso precise de recursos extras pode usar o jquery puro sem o Primefaces.

Questionamento…
Porque usar JSF para fazer sites estáticos? É o mesmo que usar um canhão para matar uma mosca.
Pense em usar a bom e velha equipe de sempre (HTML + CSS + JavaScript), esse ultimo se houver necessidade.

Espero ter ajudado.

Só mais uma dica…

Procura implementar compactação tipo gzip no seu projeto.

Pesquisa um pouco sobre gzip e você vai encontrar muito material na net.

Eu uso o omnifaces e estou gostando muito do resultado. http://showcase.omnifaces.org/

Ele tem um componente chamado GzipResponseFilter que faz essa compactação sem precisar configurar nada no servidor (Tomcat, Glassfish e etc.) lembrando que cada servidor possui uma configuração especifica para essa finalidade. Você pode usar o omnifaces ou procurar como funciona no seu próprio servidor de aplicação, ou até mesmo usar as duas soluções, não sei nunca tentei isso, mas quem quiser se aventurar boa sorte.

Fica ai a dica.