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/
0 comments:
Postar um comentário