Vous êtes sur la page 1sur 6

2008

Generador de
aplicaciones PHP/GTK
Generando el esqueleto de una aplicacin
Este documento explica como utilizar el generador de aplicaciones de zenphp
escrito en PHP/GTK para imbuir el cdigo junto con zenphp y dejarlo todo listo
para subir a un servidor de produccin el resultado.

Escrito por Juan Beln durante los meses de Enero a Marzo del 2008
Blog.zenphp.es
16/02/2008

1:: Introduccin

16/02/2008 | Blog.zenphp.es | blog.zenphp.es

Manual de
uso del
generador de
aplicaciones
zenphp/GTK
Introduccin: Construyendo webs desde una
ventana
El generador de aplicaciones en GTK puede lanzarse desde cualquier SO
que tenga instaladas dichas libreras.
Lo realmente importante son los cartuchos utilizados, algunos ejemplos
pueden ser:

ndice
Introduccin al
generador GTK
Iniciando el generador

Probando a generar algo

Generador de aplicaciones

Captura

Tutoriales individuales

Portal web en AJAX

Artculos internos

Aplicacin simple tpica de empresa

Funcionamiento

Generadores de formularios

Etc.

Las primeras pruebas del generador han dado buenos resultados.


La parte ms interesante reside en mezclar el paradigma de la
programacin orientada a aspectos con la programacin orientada a
objetos y transformadores de modelos con XML.

Por qu usar un generador de cdigo?


Hay una encuesta en la Forja, para saber qu opinan los programadores
acerca de los motivos de uso y queda bastante claro:
Ir a la entrada del blog de la encuesta: es-necesario-un-generador-decodigo? ,a los programadores nos viene muy bien que se genere un
esqueleto inicial automticamente sobre el que empezar a trabajar.

2:: Probando Gtk y el generador

Probando a generar algo


Un modelo de portal automatizado
PROGRAMADO CON ASPECTOS es de la
forma: Tengo un diseo en XML con
trucos en PHP.
Portal.xml:

</configuracion>
<modelo nombre="noticias">
<visualizador>portal/aplicaciones/vistas/html_
noticias.php</visualizador>
<campo tipo="fichero">Fichero</campo>
</modelo>
</aplicacion>
</cartucho>

<?xml version="1.0" encoding="utf-8"?>


<!DOCTYPE cartucho SYSTEM
"./zen_cartucho.dtd">
<cartucho>
<previsualizacion>portal/previo.jpg</previsuali
zacion>
<aplicacion nombre="Portal">
<configuracion>

Y este fichero lo puedo mandar a la


interfaz grfica aadiendo mis efectos, mis
trucos,se crea una llamada para generar el
portal AJAX con generar/generar.php
Portal portal.xml resultado.php

Reemplazar el contenido de un programa sin tener que editarlo, aadiendo los puntos de corte
y los aspectos que necesitamos como caracetersticas nicas de nuestro proyecto/aplicacin

Llamada al sistema
Las aplicaciones que se crean a
partir del generador son
aplicaciones como la que se
muestra en el tutorial de un sitio
freesource
AZA.GRANADAZEN.COM
resultado.php es el portal AJAX
completo que usa el framework

Usando y diseando cartuchos


Un cartucho software es usado como base de
implementacin de cdigo fuente.
Un cartucho de un portal dinmico con AJAX es un
conjunto de definiciones de ficheros que lo generan,
de forma que al cargarse el cartucho se incluyen en
el resultado: una clase html, clase modelo de
datos,ayudantes, visualizadores,modelos de datos,
etc.
Es decir, es el modelo de aplicacin PHP.
Mi idea es tener una biblioteca de modelos
actualizable y compartible/completable ,

zenphp como soporte base

COMUNIDAD : aqu estamos!


Estoy creando los diseos iniciales de aplicaciones en
cartuchos, el primero es un portal AJAX y una
aplicacin web bsicapoco a poco!
:=)

3:: El generador de aplicaciones: CARTUCHOS?

La imagen muestra lo que se puede hacer con PHP/GTK: CARTUCHOS de


aplicaciones

Cartuchos

Lo que aporta el framework


a PHP/GTK
Una ventaja de utilizarlo es
que se puede reutilizar

Un cartucho puede ser una forma de ejecutar diversos


programas en un computador. Este sistema se populariz con los
primeros computadores domsticos, como el Commodore 64,
donde se inclua un puerto especial para la conexin de
cartuchos con programas en una memoria ROM. La ventaja de
los cartuchos sobre otros medios es la disponibilidad
instantnea, sin tiempo de carga, y su mayor resistencia a los
daos.

contenidos de otros
materiales de PHP, como
notas de prensa
,noticias,RSS, etc. Aunque su
objetivo principal al distribuir
un framework pueda ser

Desde los primeros aos 80 hasta los ltimos 90, todas las
consolas de videojuegos funcionaban con cartuchos.

generar aplicaciones y crear

En la programacin de aplicaciones, un cartucho viene a ser un


conjunto de programas pre-escritos y diseados para formar un
esqueleto desde el que partir y poder empezar una nueva
aplicacin desde una base.

del conjunto de libreras es

servicios, la clave del xito

que les resulte til a los


lectores. Una buena manera
de agregar contenido til al

Esto es mejor que empezar de 0 porque no necesitamos repetir


las tareas que siempre son necesarias a la hora de empezar a
trabajar con un nuevo proyecto.

generador es crear y escribir


sus propios XML, o bien,
incluir uno ya hecho de la
biblioteca.

4 :: Tutoriales internos

Cmo funcionan las tareas de este generador?


Blog.zenphp.es
En este blog puedes encontrar
ms gente interesada en
desarrollar nuevos cartuchos.

He estado meditando en un mecanismo para generar aplicaciones y la idea


general es ...
Existen programas que generan ficheros XMI...es decir, se disea en un editor
UML un programa completo, y de ahi se generan las clases PHP, entonces se
trata de escribir un XML que defina los cambios de esas clases y con el
generador hecho en PHP/GTK ,i.e.,con una interfaz grfica se aaden esas
clases...y definen el portal ,que se genera como un script PHP y puede ser
dinmico o bien generado para ser esttico

Meditar, puede hacer tu trabajo


ms relajado

El generador
incluye el motor zenphp si el
usuario as lo desea, con slo
marcar una opcin.

demasiado complicado y/o ambicioso?


Lo expondr de forma ms fcil ya que a simple vista me parece que es
bastante complejo:
Paso 1) (opcional)
Haces el diseo de las clases que necesitas para tu aplicacin en UML y el
programa las convierte en ficheros PHP. Ejemplo: clase Motor, Vehculo,etc.
Paso 2) (opcional)
Usar el programa grfico que define los puntos de insercin de tus clases
en un modelo o "cartucho" ,por ejemplo, un portal Web de un Taller, donde
metemos los Vehculos en su casilla ,todo grfico,fcil
Paso 3) (final)
Generar la aplicacin como Programacin Orientada a Aspectos o como un
programa final de PHP
mejor?
Es como hacer un Visual-zen-php.... por lo que parece
Es cierto que no me parece ni mucho menos fcil...aunque tengo una gran
parte hecha
Las clases tienen muchos "detalles" especiales dependiendo de la
aplicacin, en este caso no es fcil integrarlo en tu modelo grfico, a no ser
que slo quieras generar un "esqueleto"
los cartuchos son modelos de esqueleto que se mandan al compilador y de
ahi al generador, -esta ultima parte la tengo hecha- ahora me falta el
mecanismo para cargar los esqueletos y lanzar las llamadas al motor POA

5 :: Funcionamiento: representacin grfica

generador
(UML)

cartucho
(GTK)

Portal
clase de
salida 1
clase de
salida 2

Generalizacin de usuario: punto limpio

Ms informacin

Para ver un ejemplo con cdigo ir al Wiki de GoogleCode de zenphp.


Foros de programacin de zenphp.
Blog de zenphp.
Forja de zenphp.

compilador
(POA)
salida1
resultado1
portal
completo

Vous aimerez peut-être aussi