mar 11

Resumen del proyecto

11 marzo, 2008

Con éste artículo quiero proponer una pirámide real del programador de un framework, (sufrido XD ) y bueno, explicar los procesos que se llevan a cabo…

Según el creador de ésta página, la pirámide “alimenticia” de un programador sería algo como esto:

Sin embargo no estoy de acuerdo ,realmente un programador empieza siendo más bien algo más como lo siguiente:
Pirámide por juaxix

Al menos ,para escribir zenphp, la base de la pirámide está invertida, pasé mucho tiempo leyendo sobre cómo funciona un framework si,…pero NO TANTO como escribiendo código generalizable para que sea reutilizable hasta mil veces…

La historia del proyecto se puede resumir en las siguientes etapas:

  1. Leer las bases de todos los frameworks posibles, incluso hasta línea a línea en varias partes,para comprender por qué se hacen las cosas de esa forma, llegar a pensar como ha pensado el creador, una vez llegado al punto de su comprensión intentar asimilarlo y usar partes de su framework como ideas y a veces incluso usar el código directamente, es bastante simple.
    La primera fase gráficamente sería algo como ésto:
  2. La fase inmediatamente posterior es ,lógicamente, diseñar el framework, la jerarquía de clases, la estructura, la forma en la que se organiza la información…para ello se suele realizar en ingeniería informática un ciclo de iteraciones de diseño, gráficamente queda así:

    El resultado de los diagramas de diseño puede leerse en la sección de documentos,
    por ejemplo, el diagrama de clases:
  3. Tras el diseño de las clases y la jerarquía,más o menos en mitad de la segunda iteración comienza la implementación del conjunto base de clases del framework, donde interviene la primera fase y segunda fase,…queda gráficamente asi:
  4. La tercera iteración lleva consigo los primeros tests (estoy diseñando las unidades de prueba con PHP), dichas pruebas son clases y aplicaciones ,algunas son webs completas freesource como http://aza.granadazen.com y otras que se pueden encontrar en la sección de documentación del proyecto. Gráficamente queda asi:
  5. Las pruebas nos sirven para utilizar el profiler y con él determinar los puntos débiles del framework sobre los que trabajar y mejorar las prestaciones, esto es, optimizar el framework con todas las técnicas que se nos ocurran, en este mismo blog se pueden encontrar dichas técnicas.
  6. Al mismo tiempo debemos ir generando en la medida de lo posible (sin dejar para mañana nada XD ) toda la documentación de cada versión estable, que se irán colocando en el directorio de la web de la forja del proyecto por medio de SCP al igual que el código de las pruebas en los foros…
  7. Una vez que he podido escribir aplicaciones con el framework de una forma rápida y sencilla, usando pocas líneas, cuando he visto que todo está siendo fluido y no hay que modificar grandes porciones de código ni reescribir por completo ninguna parte o añadir todo un bloque para automatizar un proceso,es entonces cuando genero el generador de aplicaciones orientado a aspectos, y una vez terminado este el generador de aplicaciones basado en zen_POA escrito en PHP/GTK.
  8. Por último queda cargar los “cartuchos, i.e., modelos de aplicaciones que lo tienen todo, en los que cambiaremos un par de opciones, añadiremos un par de campos para tener aplicaciones web completas generadas en un par de clicks con el generador del paso 7, son los proyectos freesource que sirven de modelos iniciales a generar como base.
  9. Tras tener los cartuchos puedo empezar con el gestor de contenidos ,algo en plan Joomla pero más sencillo, que permita mantener la libertad al programador ,como siempre en este proyecto y además con la simplicidad de zenphp

Haciendo cada una de las partes voy algunas veces “a dos carrillos” ,llevando varias tareas al mismo tiempo, una en la mañana otra en la tarde, llegando a buen puerto y actualizando… :)

Compártelo

Deja tu comentario

Close
E-mail It