Pergunta

Qual é o melhor, ou em outras palavras, o que é mais fácil de usar?Listras ou JSF.

Embora eu não tenha usado ambos com raiva, preciso avaliar qual é a melhor opção para trabalhar tanto para iniciar novos projetos quanto para converter projetos existentes do Struts.

Tenho medo de que o JSF não seja renderizado tão bem quanto desejo, mas quais são as outras experiências?Parece que Stripes é muito mais direto. Estaria correto nesta suposição?

Foi útil?

Solução

Qual é o melhor, ou em outras palavras, o que é mais fácil de usar? Listras ou JSF.

Qual é o melhor? Bem, listras e JSF são diferentes. O primeiro é uma estrutura baseada em ação (como struts) enquanto o posterior é baseado em componentes (como o wicket). Portanto, a resposta dependerá de sua experiência e conhecimento de fluxo baseado em ação versus hierarquia baseada em componentes e ambos têm seus pontos fortes e fracos. Qual é o mais fácil? Listras, sem dúvidas sobre isso.

O que eu amo em listras:

  • É simples e fácil, ou seja, tem uma curva de aprendizado baixa.
  • Eu amo sua abordagem de Convenção sobre Convenção.
  • É leve.
  • Está bem documentado (e você não precisa de toneladas de documentação por causa de sua simplicidade).
  • Tem um pequeno mas comunidade reativa (você receberá respostas no Listas de correspondência).

Se ambos são novos para você, eu iria para listras. Se você deseja aprender uma estrutura baseada em componentes, acho mais fácil começar com o wicket (também veja o que Gavin King diz em Como começar a aprender Java Ee 6).

Outras dicas

JSF não tem boa imprensa e a má reputação é infelizmente justificada (mais uma oportunidade perdida pela falecida Sun Microsystems).Mas, MAS muita coisa mudou desde que a pergunta foi feita - a nova versão do JSF 2.0 foi lançada.

Então, o que havia de errado com o JSF 1.X, o que o tornava tão irritante quando comparado ao Stripes, Spring MVC ou Wicket, Play, Click, etc.?

  1. Somente solicitações POST eram suportadas, o que causava problemas de desempenho (solicitações GET podem ser efetivamente armazenadas em cache), difícil obtenção de URLs que podem ser marcados como favoritos e muito mais
  2. JSF 1.X era baseado em páginas JSP, que não eram adequadas para lidar com ciclos de vida de páginas JSF mais complicados
  3. A criação de componentes foi difícil e complicada.
  4. A definição de regras de navegação estava longe de ser flexível e muito detalhada
  5. Configuração XML obrigatória
  6. Nenhum método limpo de gerenciamento de recursos

O bom é que todas essas deficiências foram resolvidas pela nova versão do JSF.

  1. As solicitações GET e POST são igualmente bem suportadas.
  2. A configuração pode ser feita com a ajuda de anotações (podemos nos ater ao XML onde for a melhor solução), as definições de regras de navegação são simplificadas, podemos até usar a abordagem de convenção em vez de configuração.
  3. A criação de componentes é fácil.
  4. Existem escopos de componentes novos e muito úteis:view scope e flash scope (semelhante ao conhecido em Ruby on Rails) que permitem aos usuários lidar facilmente com fluxos mais complicados.
  5. Existe um método padrão de gerenciamento de recursos e melhor facilidade de tratamento de erros
  6. Podemos definir etapas do projeto para facilitar o manuseio do projeto em diversos ambientes (teste, produção, etc.)
  7. Facelets baseados em XHTML substituíram JSP como alternativa de definição de visualização muito melhor
  8. Suporte integrado para solicitações AJAX
  9. JSF faz parte do padrão Java EE, o que significa que eles não desaparecerão da noite para o dia se desenvolvedores entediados decidirem migrar para a próxima estrutura brilhante e mais moderna.

E a última e enorme vantagem do JSF 2.X:tons de componentes prontos para uso bem projetados, com ótima aparência e bom desempenho (RichFaces, PrimeFaces, ICEFaces).Essas bibliotecas fornecem centenas de componentes normalmente usados ​​em páginas WWW que estão disponíveis sem escrever uma única linha de JavaScript ou CSS.Isso é um enorme aumento de produtividade.

Ainda assim, o JSF pode ter problemas de desempenho em comparação com estruturas baseadas em ação como Stripes, que trabalham mais de perto com solicitações HTTP, sem construir um modelo de componente (que usa mais memória e mais largura de banda de rede).

Mas para aplicações que não precisam ser extremamente performáticas, o JSF 2.0 é uma escolha muito boa e racional.A curva de aprendizado não é mais tão íngreme como era e a capacidade de reutilizar componentes existentes torna-a verdadeiramente atraente.Olhando desse ponto de vista, Stripes não é tão atraente.

Assim, por exemplo, para uma aplicação corporativa de intranet usada por 2.000 funcionários, o JSF 2.0 seria uma ótima escolha.

A melhor estrutura da web? Como muitas vezes essa pergunta resulta em uma resposta "depende".

A outra pergunta: “Que estrutura mais fácil de usar”. É mais fácil de responder, essas listras. A JSF tem uma curva notória de aprendizado íngreme. As listras, por outro lado, são fáceis de configurar e fáceis de aprender.

A estrutura do Stripes é como suportes, mas apenas melhor. Por exemplo, ele usa anotações em vez de arquivos de configuração XML. Assim como a estrutura Struts, é uma estrutura baseada em ação, apenas mais elegante. Isso significa que segue de perto a natureza apátrida do processamento de eventos HTTP. Isso é bom se você deseja alto desempenho e máxima flexibilidade na maneira como suas páginas são geradas.

Uma estrutura como o JSF não é uma estrutura baseada em ação, mas uma estrutura baseada em componentes. Isso significa que ele move uma camada de abstração entre HTTP e seu aplicativo. Essa camada possibilita a programação de aplicativos JSF como se você estivesse programando um aplicativo de giro. Assim, o JSF lida basicamente na incompatibilidade do paradigma entre o modelo de componentes e o ciclo de vida de HTTP apátrida. Essa camada de abstração, no entanto, custará algum desempenho; Também lhe dará um pouco menor de controle no HTML gerado.

JSF muito mais usado, então você deve ter um suporte melhor se algo estranho acontecer. Isso é motivo suficiente para eu usá -lo.

Eu usaria o JSF. É usado muito mais amplamente e Faces de gelo é um pacote muito útil para aplicativos baseados em JSF.

O JSF faz parte do Java EE 6+. Isso significa que estará disponível e mantido por muito tempo, o que é importante para nós.

Também podem ocorrer implementações diferentes, o que permite escolher o melhor para um determinado propósito.

A costura é uma boa pilha de aplicativos para o desenvolvimento de aplicativos JSF, não tenho certeza sobre os estipes.

  • Conversões
  • Bom suporte de Ajax
  • Conjunto rico de componentes
  • Anotações sobre a configuração XML

Uma coisa que eu não gosto no JSF é a curva de aprendizado, especialmente se você é novo para o JSF.

Listras como o Struts realmente não fazem muito pelo seu aplicativo. Além de algum roteamento elementar e população de formas e ações executadas, não faz basicamente nada. A última vez que verifiquei a maioria das tags (todas) listras são basicamente fascades para a tag HTML equivalente com pouco ou nenhum extrás. Dito isto, a JSF dá mais, mas se você deseja uma tecnologia real que não esteja presa no ano 2000 - considere o GWT.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top