Entendiendo studs
Sí, como suena: studs y no struts.
El Studs MVC
Framework+ es un port de Struts a PHP. Desde luego siempre referido a
estructura, funcionamiento, etc; porque Struts está
realizado en Java.
Se trata de un framework que implementa el patrón MVC en PHP siguiendo la estela del exitoso Jakarta Struts de la fundación Apache.
El trabajo de Dan Allen es impresionante. Dice que todo empezó como
un port, para conocer los fundamentos internos de las
aplicaciones J2EE; pero hasta él mismo admite que ha
llegado más lejos de lo que esperaba.
Para conseguir la magia necesaria para tener un Struts
en PHP ha implementado tres librerías donde se sustenta
Studs:
- Horizon: Es un
APIorientada a objetos que encapsula y extiende las funciones existentes en PHP para dotar al lenguaje de importaciones (puro estilo Java), carga de clases, excepciones en tiempo de ejecución (no entiendo muy bien cómo lo hace; intuyo lo que comúnmente identificamos como pirula :P), etc. - Stratus: Es un contenedor de servlets. Se encarga de
procesar las peticiones
HTTPpara despacharlas al servlet indicado. Aparte de dotar a PHP de servlets como en Java, dota a las páginas de estado persistente entre llamadas (:o ayer mismo me vi obligado a hacer una pirula con formularios y Javascript para conseguir eso mismo). - Phase: Se trata de un parser compatible con JSP. Implementa un sistema completo de plantillas aunque, según Allen, la potencia está en las marcas que añaden las librerías de JSP. En otras palabras: PSP (PHP Server Pages).
No hay casi documentación sobre Studs (o no he sabido
encontrarla), aunque todo lo que leamos referente a Struts
es perfectamente aplicable (sustituyendo Java por PHP, claro).
Así que consultando un poco sobre Struts me he
encontrado con algunas claves sobre el invento:
- Difícil aprendizaje: No resulta fácil hacerse con él, y para proyectos pequeños o con plazos de entrega ajustados, no es conveniente emplearlo si no tenemos destreza con el framework porque nos arriesgamos a dedicar más tiempo al aprendizaje que al propio desarrollo.
- Documentación online escasa: Incluso he leído por ahí
que es peor (la documentación del
proyecto de Apache es algo liosa y nada adecuada para novatos). Si
sumamos a esto que no hay nada sobre
Studs, se complica aún más el aprendizaje. - Complejidad y falta de transparencia: Es un sistema complejo y rígido en el que no existen atajos. No es fácil quedarse con el cuadro general del invento.
Estos tres puntos parecen suficientes para descartar
Studs como plataforma de desarrollo. Bueno, anoche estuve
leyendo código durante una hora más o menos, y Struds
merece el esfuerzo.
Puede que muchas de mis conclusiones sean equivocadas, es uno de los riesgos de leer código que no comprendemos :D, pero anoche noté la fuerza brotar y eso es buena señal ;). Iba a dejar caer por aquí mis descubrimientos, pero prefiero asentar un poco más mis ideas.
Algo de documentación para ir calentando: Studs QuickStart Guide y Demystifying Jakarta Struts (los 6 pasos que siempre repiten son clave para hacerse con el tema).
Hay 2 comentarios
![]()
Que poco místico eres, coño :D
Allen dice que empezar con Studs es relativamente fácil, porque enseguida puedes hacer cosas y ver la potencia que tiene... hasta que te das de boca contra el suelo porque hace falta conocer Struts.
Pero bueno... es un arma de doble filo. ¿Por el mismo precio aprender Struts? Interesante...
Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 15 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.
por r0sk, en 2005-06-28 13:04:09 ∞