Comparação Struts 1 e 2

Opa, olá galerinha!

Hoje como prometido, a comparação entre struts 1 e 2.

Trabalharei por tópico ok!?

Mãos na massa então! lol

--> Controle de ação executada:

Struts 1 - Suporta os processos de ciclos de vida, cada requisição de forma separada para cada módulo. Porém todas as ações no módulo devem compartilhar o mesmo ciclo de vida.
Struts 2 - Suporta a criação de diferentes ciclos de vida, baseando-se na ação via Interceptor Stacks. Onde, um Stack personalizado pode ser criado e utilizado com diferentes ações se desejar.

--> Conversão:

Struts 1 - As propriedades do ActionForm são geralmente de tipos String. O Struts 1 utiliza Commons-BeanUtils para conversão de tipos. Os conversores são por classe e não são configuráveis.
Struts 2 - Utiliza OGNL (Object Notation Gráfico Language) para conversão de tipos. O quadro inclui conversores para os tipos e objetos primitivos básicos e comuns.

--> Classes de ação:

Struts 1 - Requer uma classe do tipo Action para estender uma classe abstrata. A programação acontece para classes abstratas ao invés de interfaces
Struts 2 - A ação pode implementar uma ação de interface, assim como posso ter outras interfaces e permitir serviços opcionais e personalizados. 
O Struts 2 fornece uma classe ActionSupport base para implementar interfaces comumente usadas. Embora, a interface de ação é não necessário.
Qualquer objeto do tipo POJO com uma execução de assinatura pode ser utilizado como um objectivo de ação Struts 2.

--> Entradas:

Struts 1 - Utiliza um ActionForm para capturar as entradas. 
Struts 2 - Utiliza Action properties para inputar a entrada.

--> EL (Expression Language):

Struts 1 - Integrado com JSTL, utiliza o EL do JSTL. Porém possui uma collection e indexação fraca, com poucas propriedades de suporte.
Struts 2 - Integra o JSTL e OGNL. 

--> Fixação de valores em views:

Struts 1 - Utiliza o padrão JSTP para manter os objetos de ligação no contexto da página e obter acesso.
Struts 2 - Utiliza ValueStack, uma tecnologia que utiliza taglib para acessar valores sem acoplamento. Permitindo a reutilização de vista sobre uma variedade de tipos que podem ter o mesmo nome da propriedade, mas diferentes tipos de propriedade.

--> Modelo Threading: 

Struts 1 - Deve haver uma instancia de classe para lidar com os pedidos de ação realizada por Singleton.
Struts 2 - Os objetos Action são instanciados para cada solicitação.

--> Servlet Dependency:

Struts 1 - Todas as ações dependem do Servlet API, assim HttpServletRequest e HttpServletResponse é passado para a execução de um método quando uma ação é invocada.
Struts 2 - As ações não são acopladas ao container. Os contextos de servlet em sua maioria são representados como mapas simples, o que permite que as ações sejam testadas de forma isolada.

--> Testabilidade:

Struts 1 - A execução do método expõe a Servlet API.
Struts 2 - As ações podem ser testadas inicializando apenas o Action, definindo as propriedades e invocando os métodos. Os tipos de Dependency Injection apoiam os testes e os tornam mais simples.

--> Validação:

Struts 1 - Suporta a validação manual, realizada por método no ActionForm ou através de extensão para o Commons Validator.

Struts 2 - Suporta a validação manual, realizada por método e estrutura do XWork para validar. A estrutura suporta a validação encadeamento em sub-propriedades usando validações definidas para tipo de propriedades de classes e do contexto de validação. 

Bom, depois dessas comparações, preciso também demonstrar o meu parecer sobre esse Framework.

Então, utilizei os 2 tipos de Struts, começei pelo 1.2 e fui para o 2.0. Bem, depois que você aprende a usabilidade e configuração do 1, assim que migra para o Struts 2 você sente mais facilidade. Percebe as diferenças bem rápido e algumas coisas se tornam intuitivas.
O Struts é bem organizado. Tudo é bem divididinho e etc, por um lado é bom, pois tudo que vc deseja saber sobre X coisa, isso está dentro de basicamente 1 único XML. Mas a parte ruim é que se você não conhece a estrutura você fica patinando no sistema e não sabe por onde começar.
Confesso que tive bem mais facilidade no Struts 2. 

Bom pessoal, espero que tenham gostado. 
Até a próxima.

o/

About thallitaceleste

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 comments:

Postar um comentário