SlideShare uma empresa Scribd logo
1 de 6
Baixar para ler offline
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.

Mais conteúdo relacionado

Destaque

Introduccion al java script
Introduccion al java scriptIntroduccion al java script
Introduccion al java scriptRenny Batista
 
Conoce HTML5 y CSS3
Conoce HTML5 y CSS3Conoce HTML5 y CSS3
Conoce HTML5 y CSS3Marta Armada
 
Patron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorPatron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorHenry Vargas
 
Programación Funcional en JavaScript
Programación Funcional en JavaScriptProgramación Funcional en JavaScript
Programación Funcional en JavaScriptJavier Vélez Reyes
 

Destaque (6)

Introduccion al java script
Introduccion al java scriptIntroduccion al java script
Introduccion al java script
 
Conoce HTML5 y CSS3
Conoce HTML5 y CSS3Conoce HTML5 y CSS3
Conoce HTML5 y CSS3
 
Patron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorPatron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista Controlador
 
JavaScript desde Cero
JavaScript desde CeroJavaScript desde Cero
JavaScript desde Cero
 
Guía HTML5
Guía HTML5Guía HTML5
Guía HTML5
 
Programación Funcional en JavaScript
Programación Funcional en JavaScriptProgramación Funcional en JavaScript
Programación Funcional en JavaScript
 

Mais de Juan Belón Pérez

Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, Palm
Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, PalmAplicaciones y juegos para móbiles 2011: iOS, Android, Bada, Palm
Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, PalmJuan Belón Pérez
 
Yahoo! pipes + Wordpress plugin - RSS POWER to your blog
Yahoo! pipes + Wordpress plugin - RSS POWER to your blogYahoo! pipes + Wordpress plugin - RSS POWER to your blog
Yahoo! pipes + Wordpress plugin - RSS POWER to your blogJuan Belón Pérez
 
Proyecto Campos Electricos - Programador Servicios 3d
Proyecto Campos Electricos - Programador Servicios 3dProyecto Campos Electricos - Programador Servicios 3d
Proyecto Campos Electricos - Programador Servicios 3dJuan Belón Pérez
 
Aecem - Libro Blanco - Para Programador Php.org
Aecem - Libro Blanco  - Para Programador Php.orgAecem - Libro Blanco  - Para Programador Php.org
Aecem - Libro Blanco - Para Programador Php.orgJuan Belón Pérez
 
Introducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGRIntroducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGRJuan Belón Pérez
 
Composicion de servicios web, un ejemplo
Composicion de servicios web, un ejemploComposicion de servicios web, un ejemplo
Composicion de servicios web, un ejemploJuan Belón Pérez
 
Memoria Zenphp - Programador PHP
Memoria Zenphp - Programador PHPMemoria Zenphp - Programador PHP
Memoria Zenphp - Programador PHPJuan Belón Pérez
 
Depurando Java Script - Programador PHP
Depurando Java Script - Programador PHPDepurando Java Script - Programador PHP
Depurando Java Script - Programador PHPJuan Belón Pérez
 
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHPZenphp - Presentación de Septiembre en la Etsiit - Programador PHP
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHPJuan Belón Pérez
 
Tutorial A Z A - Programador PHP
Tutorial A Z A - Programador PHPTutorial A Z A - Programador PHP
Tutorial A Z A - Programador PHPJuan Belón Pérez
 
Ensayo Cientifico - Programador PHP
Ensayo Cientifico - Programador PHPEnsayo Cientifico - Programador PHP
Ensayo Cientifico - Programador PHPJuan Belón Pérez
 
Zen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHPZen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHPJuan Belón Pérez
 
Rendimiento Java Script - Programador PHP
Rendimiento  Java Script - Programador PHPRendimiento  Java Script - Programador PHP
Rendimiento Java Script - Programador PHPJuan Belón Pérez
 
Bibliografia Y Menciones - Programador PHP
Bibliografia Y Menciones - Programador PHPBibliografia Y Menciones - Programador PHP
Bibliografia Y Menciones - Programador PHPJuan Belón Pérez
 

Mais de Juan Belón Pérez (20)

Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, Palm
Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, PalmAplicaciones y juegos para móbiles 2011: iOS, Android, Bada, Palm
Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, Palm
 
¿Cómo elegir servidor web?
¿Cómo elegir servidor web?¿Cómo elegir servidor web?
¿Cómo elegir servidor web?
 
Yahoo! pipes + Wordpress plugin - RSS POWER to your blog
Yahoo! pipes + Wordpress plugin - RSS POWER to your blogYahoo! pipes + Wordpress plugin - RSS POWER to your blog
Yahoo! pipes + Wordpress plugin - RSS POWER to your blog
 
Proyecto Campos Electricos - Programador Servicios 3d
Proyecto Campos Electricos - Programador Servicios 3dProyecto Campos Electricos - Programador Servicios 3d
Proyecto Campos Electricos - Programador Servicios 3d
 
Aecem - Libro Blanco - Para Programador Php.org
Aecem - Libro Blanco  - Para Programador Php.orgAecem - Libro Blanco  - Para Programador Php.org
Aecem - Libro Blanco - Para Programador Php.org
 
Bpel y Open Esb
Bpel y Open EsbBpel y Open Esb
Bpel y Open Esb
 
Introducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGRIntroducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGR
 
Composicion de servicios web, un ejemplo
Composicion de servicios web, un ejemploComposicion de servicios web, un ejemplo
Composicion de servicios web, un ejemplo
 
Presentación: xUnit y Junit
Presentación: xUnit y JunitPresentación: xUnit y Junit
Presentación: xUnit y Junit
 
Cómo elegir un servidor Web
Cómo elegir un servidor WebCómo elegir un servidor Web
Cómo elegir un servidor Web
 
Memoria Zenphp - Programador PHP
Memoria Zenphp - Programador PHPMemoria Zenphp - Programador PHP
Memoria Zenphp - Programador PHP
 
Depurando Java Script - Programador PHP
Depurando Java Script - Programador PHPDepurando Java Script - Programador PHP
Depurando Java Script - Programador PHP
 
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHPZenphp - Presentación de Septiembre en la Etsiit - Programador PHP
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP
 
Zenphp - Programador PHP
Zenphp - Programador PHPZenphp - Programador PHP
Zenphp - Programador PHP
 
Tutorial A Z A - Programador PHP
Tutorial A Z A - Programador PHPTutorial A Z A - Programador PHP
Tutorial A Z A - Programador PHP
 
Ensayo Cientifico - Programador PHP
Ensayo Cientifico - Programador PHPEnsayo Cientifico - Programador PHP
Ensayo Cientifico - Programador PHP
 
Zen AJAX - Programador PHP
Zen AJAX - Programador PHPZen AJAX - Programador PHP
Zen AJAX - Programador PHP
 
Zen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHPZen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHP
 
Rendimiento Java Script - Programador PHP
Rendimiento  Java Script - Programador PHPRendimiento  Java Script - Programador PHP
Rendimiento Java Script - Programador PHP
 
Bibliografia Y Menciones - Programador PHP
Bibliografia Y Menciones - Programador PHPBibliografia Y Menciones - Programador PHP
Bibliografia Y Menciones - Programador PHP
 

Último

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 

Último (13)

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 

Zenphp Gtk - Programador PHP

  • 1. 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
  • 2. 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. 
  • 3. 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! :=)
  • 4. 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.
  • 5. 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
  • 6. 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.