Comparación de frameworks Java de presentación web | el holgazán

sábado 5 de enero de 2008

Comparación de frameworks Java de presentación web

En Raible Designs puedes ver esta comparativa:

con el siguiente resumen:

Adobe Flex 2 (ver ejemplos)

Ventajas:
  • Capaz de generar interfaz de usuario Flash.
  • Fundado por Adobe.
  • El famoso editor Picnik está realizado con Flex.
Desventajas:
  • No es amigable para los motores de búsqueda.
  • No renderiza bien el contenido HTML.
  • No imprime bien por defecto.
Grails (ver ejemplos)

Ventajas:
  • Menor curva de aprendizaje -> productividad asombrosa.
  • El lenguaje Groovy es fácil de aprender para los desarrolladores Java.
  • Usa Spring e Hibernate como base.
Desventajas:
  • Rendimiento menor que los frameworks más "crudos".
  • Puede ser difícil de "vender" a aquellos que les gusta Java.
  • Virtualmente desconocido fuera de los blogs.
GWT (ver ejemplos; ver también los ejemplos de GWT-Ext)

Ventajas:
  • Escribes Java -> produce JavaScript
  • Puede crear fácilmente aplicaciones con interfaces de usuario orientadas a servicio.
  • Fácil de aprender y desarrollar con herramientas de Java stándar.
Desventajas:
  • Es difícil añadir GWT sobre código ya existente.
  • Carece de soporte a Java 5.
  • Carece de widgets avanzados (aunque sí GWT-Ext).
JBoss Seam (ver ejemplos)

Ventajas:
  • Framework de "pila completa" con generación de aplicaciones CRUD.
  • Se integra con jBPM.
  • Fundado por JBoss/Red Hat.
Desventajas:
  • Es JSF.
  • Funciona mejor en el servidor de aplicaciones JBoss.
  • Diseñado para EJB3.
JSF (en general)

Ventajas:
  • Estándar Java EE. Gran cantidad de demanda de empleo.
  • Desarrollo fácil y rápido.
  • Cantidad de librerías de componentes.
Desventajas:
  • Mezcla de etiquetas para JSPs.
  • No representa bien el estado, según los principios de REST.
  • No hay una fuente única de implementaciones.
Struts 2

Ventajas:
  • Estructura sencilla, fácil de extender.
  • La librería de etiquetas de salida es fácil de personalizar, con FreeMarker o Velocity.
  • Navegación basada en páginas.
Desventajas:
  • Documentación pobremente organizada.
  • Paso a Apache con dificultades.
  • Documentación sobre Struts 1.x.
Apache Wicket (ver ejemplos)

Ventajas:
  • Genial para desarrolladores Java que no son desarrollaores web.
  • Relación muy cerrada entre páginas y vistas.
  • Comunidad muy activa, soportada por los creadores.
Desventajas:
  • Las plantillas HTML conviven con el código Java.
  • Requiere gran comprensión de la orientación a objetos.
  • Todo se realiza en Java.
¿Y el resto?

Stripes tiene una comunidad muy pequeña y sin libros.

Spring MVC funciona bien pero el modelo de programación de Struts 2 es mejor (aunque son bastante similares). Ver también esta comparativa.

Tapestry no mantiene compatibilidad entre versiones. Además, ha tenido una caida significativa en el número de empleos demandados y en otras estadísticas en los últimos meses.


Pero ojo... todo esto puede cambiar en los próximos meses...

1 comentarios

xavi dijo...

Artículo tremendamente interesante. Es lo que buscaba desde hace tiempo, aunque no te señala el camino a seguir. Supongo que será cuestión de pelearse un poco con todas las opciones.

Destacar la frase Pero ojo... todo esto puede cambiar en los próximos meses..., que verdad tan triste.