Comparativa de Frameworks Web Java
Ya leí en infoq la noticia sobre la ponencia de Matt Raible en la ApacheCon sobre frameworks web, pero ha sido ha raíz del post de Martín sobre el tema que me decidí a prestar más atención a las transparencias de la ponencia.
Me parece bastante objetivo el formato de la comparativa a base de los pros y contras, los criterios de evaluación y las gráficas "bonitas" :). Tanto en la presentación que en un principio iba a realizar, como en la que finalmente realizó.
De estas transparencias me han gustado especialmente las recomendaciones para elegir un framework:
6 factores importantes:
Tipo de aplicación que vas a desarrollar.
Facilidad de desarrollo / opción "full-stack".
Comunidad detrás del proyecto.
Futuro del proyecto y hoja de ruta.
Mantenimiento.
Características técnicas.
No creas el hype:
No creas todo lo que leas en blogs y artículos.
Pruébalo tú mismo.
Cree a los desarrolladores, no a los evangelistas.
Cree a los desarrolladores con experiencia de un framework y que lo hayan usado en producción.
Ten cuidado con los intereses corporativos.
Los libros son una buena señal.
La mejor herramienta para el trabajo:
Los frameworks tienen puntos fuertes, ¿tu aplicación encaja dentro de esos puntos?
Selecciona 2 o 3 frameworks para tu tipo de aplicación...
... y prototipa!
Si prototipar se hace duro, cambia.
Haz más de un prototipo y haz una presentación con los pros y contras de cada framework.
Después de elegir:
Documenta las razones de tu elección.
Permite que los desarrolladores lo discutan.
Permite que escriban tu prototipo con otros frameworks.
No tengas miedo a probar nuevos frameworks.
No tengas miedo a usar viejos frameworks.
No tengas miedo a usar tu framework actual.
Y por fin, las conclusiones finales:
El futuro en cuanto a frameworks es brillante por la competitividad que existe entre ellos.
Los desarrolladores deberían conocer más de un framework.
Deberías probar un framework antes de descartarlo.
La variedad de frameworks web es algo bueno.
Haciendo una buena investigación, podemos ahorrar tiempo y dinero.
Las pruebas son el mejor camino para un futuro mantenimiento.
Ah! y por cierto, cómo se comenta en las transparencias no incluyas struts 1, elimínalo de inicio, por lo que llevo trabajando con struts no podría estar más de acuerdo :D.