Comparación de Java Web Framework

Semanas atras en el blog Simple Thoughts se publicó una lista, sin ordenar, de los que según su autor son los 10 mejores Web Framework para Java, acompañada con cometarios de sus virtudes y defectos, pero sin mas ayuda que su opinión. De cualquier forma a continuación la listo:

El artículo completo se puede leer en: 10 Best Java Web Development Framework.

Un poco mejor estructurada fue la encuesta realizada por Kimberly McClintock acerca Web Framework (la mayoría para Java) a un grupo de “expertos”. La encuesta consistió básicamente en 5 preguntas:

  1. What’s the ’sweet spot’ of your project? For what type of projects should users strongly consider it?
  2. What type of scenarios does your project not fit into as well? Would you recommend another project in this scenario? If so, which one?
  3. Of the projects included here, which have you tried? Of those, which ones did you like or dislike, and why?
  4. What is the future of this project? What’s coming that will ease development?
  5. Are there myths about this project that you’d like to challenge?

Si bien los resultados de la encuesta tampoco califican numéricamente, si ofrece una matriz de comparativa con las distintas valoraciones, brindando al menos una herramienta que ayuda a la toma de decisiones.

La matriz de resumen así como las respuestas completas se pueden consultar en: Web Framework Project Comparison Matrix.

Así por ejemplo para la primera pregunta se obtuvieron las siguientes respuestas:

What’s your project’s ’sweet spot’?

Project

Summarized Response

MyFaces

  • Separation of MVC layers reduces developer effort.
  • Framework addresses every complex aspect of Web development.
  • Developers can create new components or use existing ones.
  • Many sources for additional components.

JBoss SEAM

  • Complex Web applications that need to integrate with other open source projects.
  • Applications that have a long running business context.
  • Complex applications
  • Supports RESTful pages
  • Supports AJAX functionality
  • Uses new EJB 3.0 programming artifacts

Spring MVC

  • Projects that use – or intend to use – Spring
  • Projects that need to expose business logic as HTTP addressable URLs
  • Projects that must provides multiple view rendering techniques

Stripes

  • Projects in which developers must get productive fast
  • Sensible defaults reduce the need for configuration
  • Contains all basic components necessary for enterprise Web development tasks; avoids feature bloat
  • Stable code base

Struts 1*

  • Struts 1 has essentially been replaced by Struts 2 and is not recommended for new projects unless the development team already has expertise

Struts 2* (WebWork)

  • Projects with developers familiar with Struts 1
  • Projects using Struts 1 who need productivity increase

Wicket

  • Projects that must create the typical stateful Web application that must track session state and perform services for the user.
  • Ideal for developers who prefer a very clean separation of concerns and object-oriented programming
  • New projects that need to get up and going fast
  • Projects with teams that have UI members and programmers, working independently
  • Single developer  projects
  • Projects requiring mailing list support

Shale*

  • Projects requiring exceptional JUnit /JMock based testing framework
  • Projects requiring an XML-based alternative to JSP

Rails

  • Web applications depending on REST and/or AJAX
  • Standalone Web sites

Espero sirva de algo. Y si conoces alguna otra publicación sobre comparativa de Web Framework, te agradecería lo comentaras.