Memoria Zenphp - Programador PHP
Upcoming SlideShare
Loading in...5
×
 

Memoria Zenphp - Programador PHP

on

  • 2,525 views

http://programadorphp.org

http://programadorphp.org

La memoria del proyecto zenphp.

Statistics

Views

Total Views
2,525
Slideshare-icon Views on SlideShare
2,159
Embed Views
366

Actions

Likes
1
Downloads
30
Comments
0

1 Embed 366

http://blog.zenphp.es 366

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Memoria Zenphp - Programador PHP Memoria Zenphp - Programador PHP Document Transcript

    • MEMORIA Proyecto: zenphp Resumen de la planificación Juan Belón Pérez Abril’ 08 ~ MÁS ~ HTTPS://FORJA.REDIRIS.ES/PROJECTS/CSL2-ZENPHP/
    • MEMORIA DEL PROYECTO ZENPHP Página 1 Z E N P HP : A L OJ AD O E N LA F OR JA D E RE D I RI S II Concurso Universitario Internacional de Software Libre Memoria del Proyecto POR: Juan F. Belón Pérez-H. jbelon[arroba]correo[.]ugr[.]es UNA BREVE INTRODUCCIÓN Para saber qué es zenphp, lee la introducción del proyecto.Con éste artículo quiero proponer una pirámide real del programador de un framework y 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:
    • MEMORIA DEL PROYECTO ZENPHP Página 2 Sin embargo no estoy de acuerdo ,realmente la pirámide de un programador empieza siendo más bien algo más como lo siguiente: Al menos ,para escribir zenphp, la base de la pirámide original está invertida, pasé mucho tiempo leyendo sobre cómo funciona un framework si,…pero NO TANTO como pensando,diseñando e implementando código generalizable para que sea reutilizable mil veces… A continuación se da un breve resumen de las tareas realizadas con sus correspondientes diagramas de Gantt (tiempos y porcentajes) para finales de Mayo. ÍNDICE: 1. ANÁLISIS DE LAS BASES DE OTROS FRAMEWORKS 2. DISEÑO DE LA BASE DEL FRAMEWORK ZENPHP 3. IMPLEMENTACIÓN DE LA BASE DEL FRAMEWORK ZENPHP 4. PRUEBAS DE EFICIENCIA: COMPARATIVAS ENTRE FRAMEWORKS 5. OPTIMIZACIÓN DEL FRAMEWORK EN FUNCIÓN A RESULTADOS 6. GENERACIÓN DE DOCUMENTACIÓN,MANUALES,TUTOS,ETC 7. DISEÑO E IMPLEMENTACIÓN DE LOS GENERADORES DE CÓDIGO 8. GENERAR CARTUCHOS: WEBS Y EJEMPLOS (ES FREESOURCE) 9. FASE FINAL: GESTOR DE CONTENIDOS O CMS (EN ABRIL) 10. RESULTADOS 11. INFORMACIÓN DE INTERÉS
    • MEMORIA DEL PROYECTO ZENPHP Página 3 UN BREVE RESUMEN DE LAS FASES DEL PROYECTO 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 la Ingeniería Informática un ciclo de iteraciones de diseño, gráficamente queda así:
    • MEMORIA DEL PROYECTO ZENPHP Página 4 El resultado de los diagramas de diseño puede leerse en la sección de documentos, por ejemplo, el diagrama de clases:
    • MEMORIA DEL PROYECTO ZENPHP Página 5 Por supuesto, sólo están las clases principales, algunas de ellas van asociadas entre sí,pero es evidente cómo se conectarían… 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 (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:
    • MEMORIA DEL PROYECTO ZENPHP Página 6 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.
    • MEMORIA DEL PROYECTO ZENPHP Página 7 Diagrama de clases del generador y compilador zen_POA: 6. Al mismo tiempo debemos ir generando en la medida de lo posible (sin dejar nada para mañana) la documentación de cada versión estable así como los manuales, 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 y los manuales y tutoriales en el Wiki…
    • MEMORIA DEL PROYECTO ZENPHP Página 8 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.
    • MEMORIA DEL PROYECTO ZENPHP Página 9 El diagrama de clases del generador GTK es el siguiente:
    • MEMORIA DEL PROYECTO ZENPHP Página 10 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
    • MEMORIA DEL PROYECTO ZENPHP Página 11 10. Resultados de las fases Los resultados obtenidos se miden en el número de descargas realizadas de los ficheros de las distintas versiones de zenphp,la actividad en cuanto al uso de los foros, la creación de documentos, y la actividad en las tareas; así como también se ha de constatar la participación en la comunidad: encuestas, código en webs de la comunidad PHP, preguntas y respuestas, etc. En cuanto a las descargas, han ido aumentando a lo largo del desarrollo del proyecto Sin embargo el número de documentos ha crecido exponencialmente como podemos ver en la siguiente gráfica:
    • MEMORIA DEL PROYECTO ZENPHP Página 12 El uso de los foros ha tenido más altibajos ,ahora está resurgiendo gracias a las comunidades de PHP que se están empezando a interesar por el proyecto:
    • MEMORIA DEL PROYECTO ZENPHP Página 13 Gracias a la división del proyecto en subproyectos se ha podido organizar la planificación de forma que se han podido completar los objetivos (normalmente) para las fechas deseadas, sin embargo ha habido muchas tareas que se han tenido que aplazar por imprevistos y problemas no esperados. Se puede ver como se van añadiendo tareas según se va progresando y se van cerrando dependiendo de los resultados obtenidos después de la realización. 11. Información de interés Para comenzar con zenphp usa el Wiki, puedes acceder a él a través del enlace: wikipedia de googlecode.