zenphp gtk - programador php

6
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

Upload: juan-belon-perez

Post on 23-Jun-2015

1.099 views

Category:

Technology


0 download

DESCRIPTION

Gracias a http://programadorphp.org/Muestra unas capturas del generador GTK de aplicaciones para PHP. Sistemas de aplicaciones web a golpe de click mediante la descarga de cartuchos con contenidos.

TRANSCRIPT

Page 1: 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

Page 2: Zenphp Gtk - Programador PHP

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.

Page 3: Zenphp Gtk - Programador PHP

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

Page 4: Zenphp Gtk - Programador PHP

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.

Page 5: Zenphp Gtk - Programador PHP

¿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.

Page 6: Zenphp Gtk - Programador PHP

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