Pergunta

O que é melhor entre JSP e velocidade em - Atuação - Fácil de usar - Facilidade de criação de componentes reutilizáveis - Disponibilidade de partes 3ª open source - Suporte IDE

Foi útil?

Solução

Vantagens de velocidade:

  • estrita separação de vista da lógica de negócios
  • sintaxe simples que pode ser entendido por designers gráficos

Outras dicas

@Vartec: Eu não acho que a "estrita separação de vista da lógica de negócios" é uma característica de velocidade que não está presente em jsp. Você pode fazer lógica de negócios em jsp (mais ou menos), mas não é recomendado a todos. Mas eu concordo em seu ponto sobre a sintaxe.

Desempenho

JSP é compilado para Java, então eu não acho que a velocidade é mais rápido. (Não ter feito referências eu)

Facilidade de uso

Para os designers: velocidade Para programadores: (IMHO) jsp, porque é mais perto de código

Facilidade de criação de componentes reutilizáveis ??

JSP tem muitos componentes Velocity não tem componentes propriamente dito (não componente orientado)

Disponibilidade de partes fonte 3º abertas

Eu tenho visto muito mais projetos que utilizam tecnologias JSP ou JSP relacionados do que velocidade. Talvez porque a velocidade é realmente baixo nível ...: -)

suporte IDE

Há uma abundância de ferramentas para jsp. Especialmente o eclipse jboss plug-in Suite / ferramenta tem uma boa jsp editor.

Plugins para Velocity são na sua maioria não funcional ou bastante básico (você tem sorte se você tem destaque de sintaxe)

Atualizar Se você estiver procurando por um motor de templates agora, eu sugiro dar uma olhada no thymeleaf. É comparavelmente leve para velocidade e pode ser usado apenas para modelo algum texto modelos baseados com algumas linhas de código ou usado como um motor de templates cheio de recursos, por exemplo, dentro de um webapp.

A seguir é sobre Freemarker, mas as comparações são provavelmente ainda relevante.

Neste ponto do desenvolvimento destas duas tecnologias, parece que as principais razões para escolher um sobre o outro são:

  1. Há algo específico que você precisa que está em um e não o outro
  2. Você quer evitar desenvolvedores vista de colocar scriptlets Java em páginas JSP
  3. Seus desenvolvedores são mais confortáveis ??em um do que o outro

As razões que não parecem ter tanto impacto:

  1. Velocidade. Há tantas camadas em um aplicativo típico Java EE que têm um maior impacto muito do que o par de milissegundos mais ou menos que um renderizador de vista pode demorar. Na verdade, esta é provavelmente a última camada gostaria de enfrentar, se meu aplicativo estava realizando subpar.
  2. Suporte IDE. JBoss Tools fornece um editor Freemarker e ferramentas de JSP são bem conhecidos.
  3. Syntax. JSP 2 e Freemarker tem sintaxe praticamente idênticos para muitas operações básicas, por causa da EL e JSTL.

Freemarker Exemplo:

<#list foos as foo>
  <tr>
     <td>${foo.field1}</td>
     <td>${foo.field2}</td>
     <td>
        <#list foo.childObjects as child>
           <#if child.name == 'bar'>
              ${child.value}
           </#if>
        </#list>
     </td>
  </tr>
</#list>

JSP-EL-JSTL Exemplo:

<c:forEach items="${foos}" var="foo">
  <tr>
     <td>${foo.field1}</td>
     <td>${foo.field2}</td>
     <td>
        <c:forEach items="${foo.childObjects}" var="child">
           <c:if test="${child.name == 'bar'}">
              ${child.value}
           </c:if>
        </c:if>
     </td>
  </tr>
</c:forEach>

Velocity ou ainda melhor FreeMarker . Em JSP você não pode ter runtime de despacho para pojo hierarquias e tudo é digitado estaticamente que é uma dor. Além disso, se você criar muitas marcas personalizadas JSP2.0 (dizem que mais de 100-150), então o seu ciclo de desenvolvimento-implementação irá desacelerar fortemente devido a ineficiências de Jasper para dependências resolver de forma eficiente.

Por outro lado JSP tem grande apoio ferramenta.

lentas referências compilação JSP:

http://www.mailinglistarchive.com/users@tomcat.apache.org/msg10786.html

http://marc.info/?l=tomcat-dev&m=119377083422720&w=2

Vou concentrar em usar um modelo de motor, porque é isso que eu tenho mais experiência com.

Depende do que você realmente quer fazer. Servlets em combinação com Velocity (ou FreeMarker para que o assunto) oferecem uma muito boa separação de lógica e apresentação. Os modelos são mais difíceis de teste, porque você precisa para avaliar o modelo a ser capaz de julgar wheter o HTML (ou qualquer outra coisa que o formato de saída é) está correta. Para JSP isso pode ser feito em seu IDE de escolha.

A grande vantagem de modelos é que você pode armazenar estes completamente fora de sua aplicação e até mesmo atualizá-los enquanto o aplicativo está sendo executado. Isso é algo que é um pouco mais difícil de fazer com JSP, embora a implementação ativa chega bem perto.

componentes reutilizáveis ??podem ser criados usando a funcionalidade do modelo de motor incluem.

As vantagens de velocidade como por falta acima de um par de coisas muito importantes do ponto de vista engenheiros:

  • estrita separação de vista da lógica de negócios (como acima)
  • sintaxe simples que pode ser entendido por designers gráficos (como acima)
  • código compacto que é menos de um pesadelo para revisitar mais tarde, ver exemplo ligação
  • não-servlet meios de implementação recipiente fácil em qualquer lugar deploy

Aqueles dois últimos realmente fazer Velocity útil em comparação com JSP.

Eu não sei se Velocity pode ser capaz de competir com JSP em todos os aspectos, mas Velocity é mais rápido e easier.Efficiency nuch de velocidade é de 35 a 45% mais, se é complicado páginas pode ser reduzida, mas ainda é 5% a mais que JSP.

Velocity é melhor Ele se adapta a muitas áreas de aplicação Ele oferece uma maneira simples, sintaxe clara para o designer de modelo Ele oferece um modelo de programação simples para o desenvolvedor Como os modelos e código são separados, você pode desenvolver e manter de forma independente O motor Velocity integra facilmente em qualquer ambiente de aplicativo Java, especialmente servlets Velocity permite modelos para o acesso de qualquer método público de objetos de dados no contexto

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