Download - Zenphp Gtk - Programador PHP
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.
2008
Escrito por Juan Belón durante los meses de Enero a Marzo del 2008 Blog.zenphp.es
16/02/2008
16/02/2008 | Blog.zenphp.es | blog.zenphp.es
Manual de uso del generador de aplicaciones zenphp/GTK Introducción: Construyendo webs desde una ventana…
¿Por qué usar un generador de código?
1:: Introducción
Índice
Introducción al generador GTK
Iniciando el generador 1
Probando a generar “algo” 2
Generador de aplicaciones 3
Captura 4
Tutoriales individuales
Artículos internos 4
Funcionamiento 5
El generador de aplicaciones en GTK puede lanzarse desde cualquier SO
que tenga instaladas dichas librerías.
Lo realmente importante son los cartuchos utilizados, algunos ejemplos
pueden ser:
Portal web en AJAX
Aplicación simple típica de empresa
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.
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.
Probando a generar “algo”
Usando y diseñando cartuchos
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
zenphp como soporte base
2:: Probando Gtk y el generador
</configuracion> <modelo nombre="noticias"> <visualizador>portal/aplicaciones/vistas/html_noticias.php</visualizador> <campo tipo="fichero">Fichero</campo> </modelo> </aplicacion> </cartucho>
Y este fichero lo puedo mandar a la
interfaz gráfica añadiendo mis efectos, mis
trucos,se crea una llamada para generar el
portal AJAX con generar/generar.php
Portal portal.xml resultado.php…
Un modelo de portal automatizado
PROGRAMADO CON ASPECTOS es de la
forma: Tengo un diseño en XML con
“trucos “ en PHP.
Portal.xml:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE cartucho SYSTEM "./zen_cartucho.dtd"> <cartucho> <previsualizacion>portal/previo.jpg</previsualizacion> <aplicacion nombre="Portal"> <configuracion>…
Un cartucho software es usado como base de implementación de código fuente.
Un cartucho de un portal dinámico 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 aplicación PHP.
Mi idea es tener una biblioteca de modelos actualizable y compartible/completable ,…
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!
:=)
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
3:: El generador de aplicaciones: ¿CARTUCHOS?
La imagen muestra lo que se puede hacer con PHP/GTK: CARTUCHOS de
aplicaciones…
Cartuchos
Un cartucho puede ser una forma de ejecutar diversos
programas en un computador. Este sistema se popularizó con los
primeros computadores domésticos, como el Commodore 64,
donde se incluía un puerto especial para la conexión de
cartuchos con programas en una memoria ROM. La ventaja de
los cartuchos sobre otros medios es la disponibilidad
instantánea, sin tiempo de carga, y su mayor resistencia a los
daños.
Desde los primeros años 80 hasta los últimos 90, todas las
consolas de videojuegos funcionaban con cartuchos.
En la programación de aplicaciones, un cartucho viene a ser un
conjunto de programas pre-escritos y diseñados para formar un
esqueleto desde el que partir y poder empezar una nueva
aplicación desde una base.
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.
Lo que aporta el framework
a PHP/GTK
Una ventaja de utilizarlo es
que se puede reutilizar
contenidos de otros
materiales de PHP, como
notas de prensa
,noticias,RSS, etc. Aunque su
objetivo principal al distribuir
un framework pueda ser
generar aplicaciones y crear
servicios, la clave del éxito
del conjunto de librerías es
que les resulte útil a los
lectores. Una buena manera
de agregar contenido útil al
generador es crear y escribir
sus propios XML, o bien,
incluir uno ya hecho de la
biblioteca.
¿Cómo funcionan las tareas de este generador?
He estado meditando en un mecanismo para generar aplicaciones y la idea general es ... Existen programas que generan ficheros XMI...es decir, se diseña 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 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
¿demasiado complicado y/o ambicioso?
Lo expondré de forma más fácil ya que a simple vista me parece que es bastante complejo:
Paso 1) (opcional) Haces el diseño de las clases que necesitas para tu aplicación en UML y el 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
4 :: Tutoriales internos
Blog.zenphp.es
En este blog puedes encontrar más gente interesada en desarrollar nuevos cartuchos.
Meditar, puede hacer tu trabajo más relajado
El generador incluye el motor zenphp si el usuario así lo desea, con sólo marcar una opción.
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.
compilador
(POA)
cartucho (GTK)
generador(UML)
Portal
clase de salida 1
salida1
resultado1
clase de salida 2
portal completo
Generalización de usuario: “punto limpio”
5 :: Funcionamiento: representación gráfica