Temas etiquetados como: ‘Framework’

Un framework para dominarlos a todos

25 Agosto, 2009

SymfonyHace ya unos meses comencé un proyecto ambicioso, el crear un framework para el desarrollo de aplicaciones web en php. Una tarea que comenzó en las solitarias noches del hogar, terminó convirtiendose en parte de las tarea de mi jornada laboral. La idea siempre fue facilitar el trabajo, y llegó el momento de ponder poner en marcha a zancadas la idea.

Fue comentado en forosdelweb.com mi intención de desarrollar un framework php y criticado en el sentido de reinventar la rueda, para que hacer algo que ya está hecho. Eso es totalmente cierto, pero las carencias que teníamos eran muy particulares y a veces lo que tenemos que hacer no es “lo de siempre” y el framwork salió a la luz, funcionando en diferentes proyectos.

Aunque en un principio la idea era tener el código licenciado bajo GPL al llevarme la tarea a la jornada laboral perdí el poder de decisión para poder liberar el código y nunca fue publicado en el repositorio. Actualmente el repositrio SVN http://svn.pensandoenred.com/framework tiene una versión antigua ya del motor de plantillas.

La experiencia es y ha sido increible al crear una herramienta de este tipo, el evolucionar el desarrollo junto con su mantenimiento hasta se hace relativamente fácil gracias a que no sólo yo aporté, también mis compañeros fueron una importante ayuda para afinar el desarrollo, técnica y conceptualmente ha sido un trabajo muy enriquecedor. El resultado fue un framework parecido en “grandeza” a codeigniter, y de fácil aprendizaje.

Aunque parece que ya estoy en tono de despedida… :-) no es así! esta herramienta seguirá su curso y crecerá, pero fue un proyecto gestado en un sitio y que nació en otro lugar pero ahora tiene otro rumbo. En el transcurso del mismo primero atacamos a las necesidades inmediatas y luego lo fuimos adornando pero siempre mirando hacia adelante en cuanto a necesidades y requisitos que serán imposible alcanzar en su totalidad, ya que el tiempo es dinero y no tenemos tanto dinero para ello :-)

Antes de embarcarnos en la aventura valoré el utilizar symfony como framework, pero es muy grande y complejo. Su aprendizaje es relativamente costoso en comparación con frameworks más pequeños… Pero la potencia de symfony cada vez me abruma más.

La potencia de symfony en cuanto al tratamiento de las url’s, de gestión de formularios, la rapidez en el desarrollo de aplicaciones potentes y la gran comunidad hispana que tiene es increíble por no hablar de su extensa documentación. Lo que más me ha gustado de lo que he visto en este framework son las pruebas unitarias y funcionales, algo que en muchas ocasiones en el desarrollo de aplicaciones no se la da la suficiente importancia.

Otros lenguajes de programación son más cuadriculados, pero php… el que lo conoce sabe que es tan maleable… :-) y no se puede competir contra cientos de cabezas pensantes de una comunidad! donde no sólo uno mismo ve la necesidad, es que la ven todos y la sacan adelante. Otro de los framework que están en la cumbre es Zend Framework y aunque lo he visto por encima me he decantado por Symfony por el momento. Tal vez cuando tenga el control adecuado para decir que conozco bien Symfony igual invierto algo de tiempo en mirar Zend, pero hay mucha documentación de Symfony y me resulta cómodo el aprendizaje así que me parece que será difícil cambiar a Zend el día de mañana. La comunidad symfony es muy activa y es de agradecer en el momento de aprendizaje y sobre todo a tener en cuenta para el futuro.

Pronto comenzaré con una aplicación con este framework y me parece que voy a disfrutar mucho, programar es divertido!

Problema en repositorio de Subversion

5 Febrero, 2009

Un usuario me ha informado de un problema de acceso a uno de los repositorios de subversion. No había visto el problema ya que utilizo como cliente subeclipse, un plugin de eclipse. Con este cliente de subversion no hay ningún problema de acceso y se puede descargar y commitar si tienes acceso.

Lo malo es que si intentamos hacer un checkout del repositorio:

svn co http://svn.pensandoenred.com/webexp .

Nos alerta con el siguiente error:

svn: El repositorio se movió permanente a ‘%’s; use ‘relocate’ por favor

Por lo que he podido indagar en internet se utiliza el relocate cuando el proyecto cambia de repositorio pero no es el caso.

En cuanto me sea posible solucionaré el problema, perdonar las molestias.

Framework :: Probando la vista

22 Enero, 2009

Bien, hasta ahora el código que estaba publicado en el repositorio no era de mucha utilidad si no había un caso de ejemplo para probar el funcionamiento de la vista.

A tener en cuenta para pruebas:

  • Document root: html
  • Código donde se monta la vista: proyecto/php/portada/portada.php
  • Tipo de contenido de pruebas: demo

El resultado de la prueba es un listado de 10 elementos de tipo “demo” con una paginación de 2 páginas, ya que cuando preguntamos por el total, el método devuelve directamente 20. Las clases del tipo de contendo Demo son clases de prueba, todavía falta la definición de como construir los tipos de contenido.

La idea de la vista, es un gestor de plantillas por sustitución de tag omitiendo cualquier tipo de lógica en la propia plantilla. El objetivo es tener un motor de plantillas de fácil uso a la hora de montar pantallas teniendo en cuenta que en la propia plantilla el diseñador no se tendrá que econtrar código alguno que implique lógica. Entendiendo lógica como boucles, condiciones…

Framework :: descargando el código de SVN

22 Enero, 2009

Para descargar el código del subversion tenemos que utilizar un cliente de subversion :) “me he lucido”. Tirando de la blogosfera podemos obtener manuales de como utiluzar diferentes clientes de subversion.

También me ha parecido de interés el exponer una explicación del servicio de Subversion para aquellos que no lo conozcan. Este servicio sirve para tener un control de versiones y desarrollar en equipo. Para esto podemos acceder al blog de Manuel Recena que en su post de Algunas ideas de como usar subversion lo describe con detalle.

Si tenéis algún problema para la descarga avisarme para poder solucionarlo. El proyecto está en modo lectura para todos y para poder participar hace falta una cuenta de usuario, por lo que no podréis realizar un commit si no os he dado de alta.

Feliz descarga! :-)

Framework :: El comienzo

16 Enero, 2009

Hace ya un tiempo que llevo dandole vueltas a la idea de comenzar a desarrollar un framework para desarrollar en PHP. Es cierto que en internet existen para escoger unos cuantos, unos más conocidos que otros y un sin fin de clases para utilizar en los desarrollos de cada uno.

Aunque dispongo de algo más de código que el expuesto en el respositorio de subversion que he montado para el proyecto tengo que “limpiarlo” un poco para subirlo al repositorio.

Ahora tengo un gestor de plantillas, cuya idea principal es el montar la página gestionando formularios, paginaciones y demás elementos que vaya incorporando al desarrollo. Ahora será dificil poder comprobar el funcionamiento de las clases a no ser que le dediques un poco de tiempo a leer el código pero en cuanto pueda tener código suficiente para que se pueda ir evaluando pasará un tiempecito ^_^ esperemos que no mucho.

Un punto importante en el proyecto es la documentación y en unos dias montaré un wiki para ir documentando las clases publicadas en el repositorio, por lo que se intentará mantener la publicación de documentación con la publicación de código nuevo.

El proyecto es ambicioso para una sola persona pero sin tener la obligación de alcanzar una fecha de fin no hay presión :)

Una de las asignaturas pendientes para este proyecto es licenciarlo bajo GPL, pero aunque ahora el código no haga referencia a esta licencia así estará en el momento que me sea posible.