Sunteți pe pagina 1din 6

2008

Generador de
aplicaciones PHP/GTK
Generando el esqueleto de una aplicación
Este documento explica como utilizar el generador de aplicaciones de zenphp
escrito en PHP/GTK para imbuir el código junto con zenphp y dejarlo todo listo
para subir a un servidor de producción el resultado.

Escrito por Juan Belón durante los meses de Enero a Marzo del 2008
Blog.zenphp.es
16/02/2008
1:: Introducción

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

Manual de
uso del
generador de
aplicaciones
zenphp/GTK
Índice

Introducción al
generador GTK
Introducción: Construyendo webs desde una Iniciando el generador 1
ventana… Probando a generar “algo” 2
El generador de aplicaciones en GTK puede lanzarse desde cualquier SO Generador de aplicaciones 3
que tenga instaladas dichas librerías.
Captura 4
Lo realmente importante son los cartuchos utilizados, algunos ejemplos
pueden ser: Tutoriales individuales
 Portal web en AJAX Artículos internos 4

 Aplicación simple típica de empresa Funcionamiento 5

 Generadores de formularios
 Etc.
Las primeras pruebas del generador han dado buenos resultados.
La parte más interesante reside en mezclar el paradigma de la
programación orientada a aspectos con la programación orientada a
objetos y transformadores de modelos con XML.

¿Por qué usar un generador de código?


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-de-
codigo?” ,a los programadores nos viene muy bien que se genere un
esqueleto inicial automáticamente sobre el que empezar a trabajar. 
2:: Probando Gtk y el generador

Probando a generar “algo”


Un modelo de portal automatizado </configuracion>
<modelo nombre="noticias">
PROGRAMADO CON ASPECTOS es de la <visualizador>portal/aplicaciones/vistas/html_
forma: Tengo un diseño en XML con noticias.php</visualizador>
“trucos “ en PHP. <campo tipo="fichero">Fichero</campo>
</modelo>
Portal.xml: </aplicacion>
</cartucho>
<?xml version="1.0" encoding="utf-8"?> Y este fichero lo puedo mandar a la
<!DOCTYPE cartucho SYSTEM
"./zen_cartucho.dtd"> interfaz gráfica añadiendo mis efectos, mis
<cartucho> trucos,se crea una llamada para generar el
<previsualizacion>portal/previo.jpg</previsuali portal AJAX con generar/generar.php
zacion>
<aplicacion nombre="Portal"> Portal portal.xml resultado.php…
<configuracion>…

Reemplazar el contenido de un programa sin tener que editarlo, añadiendo los puntos de corte
y los aspectos que necesitamos como caraceterísticas únicas de nuestro proyecto/aplicación

Llamada al sistema Usando y diseñando cartuchos


Un cartucho software es usado como base de
Las aplicaciones que se crean a
implementación de código fuente.
partir del generador son
Un cartucho de un portal dinámico con AJAX es un
aplicaciones como la que se conjunto de definiciones de ficheros que lo generan,
de forma que al cargarse el cartucho se incluyen en
muestra en el tutorial de un sitio
el resultado: una clase html, clase modelo de
freesource datos,ayudantes, visualizadores,modelos de datos,
etc.
AZA.GRANADAZEN.COM
Es decir, es el modelo de aplicación PHP.
resultado.php es el portal AJAX Mi idea es tener una biblioteca de modelos
completo que usa el framework
actualizable y compartible/completable ,…
zenphp como soporte base
COMUNIDAD : ¡aquí estamos!
Estoy creando los diseños iniciales de aplicaciones en
cartuchos, el primero es un portal AJAX y una
aplicación web básica…¡poco a poco!
:=)
3:: El generador de aplicaciones: ¿CARTUCHOS?

La imagen muestra lo que se puede hacer con PHP/GTK: CARTUCHOS de Lo que aporta el framework
aplicaciones… a PHP/GTK

Cartuchos Una ventaja de utilizarlo es


que se puede reutilizar
Un cartucho puede ser una forma de ejecutar diversos
contenidos de otros
programas en un computador. Este sistema se popularizó con los
primeros computadores domésticos, como el Commodore 64, materiales de PHP, como
donde se incluía un puerto especial para la conexión de notas de prensa
cartuchos con programas en una memoria ROM. La ventaja de
los cartuchos sobre otros medios es la disponibilidad ,noticias,RSS, etc. Aunque su
instantánea, sin tiempo de carga, y su mayor resistencia a los objetivo principal al distribuir
daños.
un framework pueda ser
Desde los primeros años 80 hasta los últimos 90, todas las generar aplicaciones y crear
consolas de videojuegos funcionaban con cartuchos.
servicios, la clave del éxito

En la programación de aplicaciones, un cartucho viene a ser un del conjunto de librerías es


conjunto de programas pre-escritos y diseñados para formar un que les resulte útil a los
esqueleto desde el que partir y poder empezar una nueva
aplicación desde una base. lectores. Una buena manera
de agregar contenido útil al
Esto es mejor que empezar de 0 porque no necesitamos repetir
generador es crear y escribir
las tareas que siempre son necesarias a la hora de empezar a
trabajar con un nuevo proyecto. sus propios XML, o bien,
incluir uno ya hecho de la
biblioteca.
4 :: Tutoriales internos

¿Cómo funcionan las tareas de este generador?


Blog.zenphp.es He estado meditando en un mecanismo para generar aplicaciones y la idea
general es ...
En este blog puedes encontrar
Existen programas que generan ficheros XMI...es decir, se diseña en un editor
más gente interesada en
desarrollar nuevos cartuchos. 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 gráfica se añaden esas
clases...y definen el portal ,que se genera como un script PHP y puede ser
dinámico o bien generado para ser estático
Meditar, puede hacer tu trabajo
más relajado ¿demasiado complicado y/o ambicioso?

Lo expondré de forma más fácil ya que a simple vista me parece que es


bastante complejo:
El generador Paso 1) (opcional)
incluye el motor zenphp si el
usuario así lo desea, con sólo Haces el diseño de las clases que necesitas para tu aplicación en UML y el
marcar una opción.
programa las convierte en ficheros PHP. Ejemplo: clase Motor, Vehículo,etc.

Paso 2) (opcional)

Usar el programa gráfico que define los puntos de inserción de tus clases
en un modelo o "cartucho" ,por ejemplo, un portal Web de un Taller, donde
metemos los Vehículos en su casilla ,todo gráfico,fácil

Paso 3) (final)

Generar la aplicación como Programación 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 fácil...aunque tengo una gran


parte hecha…
Las clases tienen muchos "detalles" especiales dependiendo de la
aplicación, en este caso no es fácil integrarlo en tu modelo gráfico, a no ser
que sólo 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: representación gráfica

generador cartucho compilador


(UML) (GTK) (POA)
Portal
salida1
clase de
salida 1
resultado1

clase de portal
salida 2 completo

Generalización de usuario: “punto limpio”

Más información
 Para ver un ejemplo con código ir al Wiki de GoogleCode de zenphp.
 Foros de programación de zenphp.
 Blog de zenphp.
 Forja de zenphp.

S-ar putea să vă placă și