10 diciembre 2016

Java. Futuro de Struts

El mundo de Java está plagado de frameworks y especificaciones. Tantos que es difícil encontrar información fiable y actualizada sobre ellos en Internet. Cuando uno observa la lista de Java parece casi una broma.

Uno de estos frameworks es Struts 2. Una reconversión del año 2007 del antiguo Struts (creado en el 2000), que gozaba de cierta popularidad en el desarrollo de aplicaciones Web con Java. Básicamente Struts 2 es un framework para desarrollar aplicaciones web basadas en el patrón MVC (modelo-vista-controlador).

Web de Struts 2

En varios lugares podemos leer que es una tecnología que va camio del abandono, si bien sigue sacando nuevas versiones.

Struts 2 o JSF (JavaServer Faces)

 La cuestión sobre su utilidad se puede leer entre líneas en este artículo de la propia web de Struts 2, donde los action frameworks se refiere a Struts 2 y component frameworks se refiere a JSF (JavaServer Faces):

https://struts.apache.org/docs/what-are-the-fundamental-differences-between-struts-and-jsf.html
"As a basic guideline, I find the action frameworks are better for "web sites", site like this one, sites that focus on delivering content to the user. Where it's mostly a "read only" experience for the end user who is likely to want to bookmark things, come back to arbitrarily deep pages, etc.

But the component frameworks are better for "web apps". CRUD screens, back office applications, lots of forms and controls, etc. Here, the workflow is more controlled. You tend to not get to a "detail" screen with going through the "list" screen or "header" screen first, for example."
En cierto modo está recomendando el uso de JSF para la creación de la capa web de aplicaciones que necesiten un acceso intensivo a bases de datos, mientras que Struts 2 sería más recomendable para una distribución sencilla de contenidos con una tendencia más estática.

Conclusión

Si tuviese que elegir una camino sobre el que centrar esfuerzos de aprendizaje para desarrollar con Java, posiblemente sería el de la especificación JSF aderezado con PrimeFaces. Struts 2 parece que está llegando al final de un camino.