Marcos de aplicaciones web: ¿Por qué a la gente ya no le gusta Struts 2? ¿Qué funciona mejor y por qué?

Añadiría algunas cosas por las que personalmente odiaba los struts 2:

1. Configuración pesada
Mueres escribiendo configuraciones. Aunque las anotaciones han facilitado la vida en cierta medida, los marcos como JSF y Spring son mucho más ágiles.

2. Avances en Java EE 6
Struts 2 irrumpió en escena en un momento en que hacer una aplicación robusta de Java EE era un problema con Vanilla Java EE. Se pueden hacer pequeñas aplicaciones, pero hacer una aplicación grande puede resultar desordenado y defectuoso. Esto cambió con el advenimiento de Java EE 6 que trajo el servlet 3.0, que era mucho más robusto y fácil de programar, haciendo que los struts 2 fueran irrelevantes.

3. Primavera que proporciona andamios
Spring proporcionó cosas como programación orientada a aspectos que eliminó la necesidad de interceptores. Era una opción valiosa y una opción mucho más limpia que el marco de AspectJ disponible anteriormente. Simplemente podía mezclar Spring AOP, Spring validator con Java EE 6 y tenía a mano una aplicación de nivel empresarial. No más regateos con puntales 2 que requieren cierto nivel de experiencia.

4. JSF 2.0
Nadie puede negar que la gente quiere una interfaz de usuario mejor y mejor. Ya no es el año 2005, estamos después de 2010 y el cliente necesita una interfaz de usuario mejor y más funcional. JSF gana con él y con JSF 2.0 lanzado con Java EE 6, proporcionó una interfaz de usuario mucho más sofisticada y fácil de programar que requería muchos complementos en struts 2. Los programadores lo encontraron mejor y, por lo tanto, comenzaron a avanzar hacia él.

IMO Struts dio un gran salto de 1.0 a Struts 2, pero EE y otros marcos saltaron aún más, haciendo que Struts 2 se sienta anticuado.

JSF se hizo aún más avanzado con la introducción de “componentes compuestos”. La respuesta corta es que hay necesidades de capa de presentación que se pueden implementar fácilmente con JSF y muy difíciles con solo Struts. Ver también el HybridJava.

More Interesting

¿Cuál es la forma más fácil de introducir una capa de seguridad en una aplicación web Node.js?

¿Cómo se implementa un proyecto django creado en PyCharm en Windows?

¿Cuál es el propósito de tener una base de datos (almacenamiento persistente) en el lado del cliente de una aplicación web?

¿Prefieres crear sitios web o aplicaciones web y por qué?

¿Qué es una aplicación de Windows que puede organizar mi biblioteca de música y hacer lo siguiente?

¿Por qué debería crear aplicaciones web con Django y AngularJS?

¿Qué temas debería cubrir un programa de estudios del curso 'Tecnologías Web Social 101'?

Como una persona que se dedica a la programación, ¿cuáles son los posibles campos en los que puedo obtener experiencia además del desarrollo web y de aplicaciones?

¿Qué pasos debo seguir si quiero desarrollar una aplicación web?

Cómo conectar mi aplicación web al servidor de SMS

¿Qué marco es bueno para desarrollar un portal?

¿Existe un administrador / herramienta de marcadores que pueda almacenar contenido (páginas web, PDF, capturas de pantalla, etc.) en línea y permita anotaciones antes del almacenamiento (como lo hace Evernote con Clips), así como tener una función donde el contenido se archiva en una carpeta o etiquetado?

¿Qué tipo de arquitectura permite que los sitios web de SaaS como Salesforce.com eviten que los complementos subóptimos los eliminen?

¿Qué debe hacer al preparar una aplicación web para pruebas beta desde el punto de vista frontal?

¿Por qué no se debe desarrollar un sitio web con el marco Struts? ¿Y por qué debería?