Null Pointer Exception
Java Server Faces vs Struts
Octubre 31st, 2004 - [Enlace local]
Supongo que esta es una de las preguntas del millón que se estarán haciendo actualmente todos los desarrolladores J2EE y que parece que tienen dificil respuesta. Por una parte esta nuestro viejo amigo Struts, con un valor ya demostrado en el campo de batalla y al que parece que se quiere mandar para casa (no sin antes agracederle los servicios prestados) en favor de un nuevo combatiente, JSF, mas joven y mejor formado.
Buscando información sobre esta disyuntiva me he encontrado con el interesantísimo (y sin embargo breve) artículo Java Server Faces (JSF) vs Struts de Roland Barcia. En dicho artículo, el autor hace una comparación entre ambos frameworks de distintas características. Así, Struts sale vencedor en madurez ... y en nada mas !!. El resto de características comparadas en el artículo, Flexibilidad del Controlador y manejo de eventos , navegacion , desarrollo de paginas , integración y extensibilidad se las lleva JSF.
Personalmente estoy de acuerdo con estas conclusiones, aunque me gustaría que algún defensor de Struts diera su opinión. Después de probar ambos frameworks encuentro mas sencillo e intuitivo JSF. Sin embargo es inquietante tanto la postura de Sun como la del proyecto Struts, hablando no de competencia sino de cooperación entre ambos frameworks (aunque reconocen algún solapamiento). Así, JSF se define como mas centrado en ofrecer un modelo de componentes para el interfaz de usuario. En mi humilde opinión esto resulta confuso, ya que como dice Adam Winer (representante de Oracle en el Grupo de Expertos de JSF) en esta entrevista cuando se le pregunta por su posición en el debate JSF vs Struts: "JSF ofrece todo lo que necesitas tanto en la capa de la Vista como en la del Controlador - y puedes seguir una ruta JSF desde el principio hasta el final". Supongo que "esta mano tendida" hacia Struts es consecuencia de que Craig McClanahan, lider de la especificación JSF sea el creador de Struts.
Sin embargo, la madurez y estabilidad de Struts son su punto fuerte. Ninguna de las empresas con las que tengo relación han empezado a trabajar con JSF, ni siquiera se ha planteado su utilización en proyectos próximos a iniciarse, parece que Struts es la única opción. Me da la impresión de que al menos en España, JSF todavía no ha despegado (visito a diario los foros de javaHispano y las consultas sobre JSF son muy escasas en comparación a las que se hacen sobre Struts). Supongo que con la llegada de las nuevas versiones de los IDE's mas utilizados que integrarán JSF esta situación empezará a cambiar (ya están disponibles Sun Java Studio Creator, JBuilder 2005, WebSphere Studio Application Developer y mas)
En fin, que todo el mundo parece estar de acuerdo en que JSF es una decisión estratégica de cara al futuro, pero ¿para cuando? ¿Sería interesante/necesario adoptar JSF para proyectos que van a iniciarse ahora? Me gustaría leer alguna opinión...