Title: ZCodo Code less, Do More
1ZCodo Code less, Do More
Framework es una estructura de soporte definida
en la cual otro proyecto de software puede ser
organizado y desarrollado
Eduardo García enzo_at_enzolutions.com PHP Developer
Abril/2008, San José de Costa Rica
2Agenda
- Introducción.
- Code Generator (ORM).
- QQuery.
- QForms.
- I18N.
3Introducción
- El framework de desarrollo Qcodo está orientado
a - Liberar a los desarrolladores del código
innecesario, tedioso y mundano. - Soportar la complejidad y escalabilidad de
proyectos grandes. - Diseño de la base de datos.
4Introducción / Arquitectura (Cont)
5Code Generator
- Todo inicia con el modelo de la base de datos.
- El modelo de la base de datos puede cambiar,
crecer y adaptarse a través del ciclo de vida de
la aplicación. - ORM
- Índices generan métodos de consulta (Load/Count).
- Foreign keys generan relaciones de clases y
métodos de consulta. - Una clase por cada tabla.
6Code Generator (continuación)
- Bases de datos
- MS SQL SERVER.
- MySQL
- Innodb.
- Definición de relaciones.
- PostgreSQL (en proceso).
- Oracle (en proceso).
- Tablas tipo.
- Relaciones muchos a muchos.
7QQuery
- Basado en el ORM del code generator.
- Permite realizar consultas organizadas sin saber
SQL. - Utiliza las relaciones entre las tablas.
- Permite consultas personalizadas fuera del
modelo. No es recomendable abusar de esto.
8QQuery / Ejemplo
TicketQueryArray( QQAndCondition( QQEqu
al(QQNTicket()-gtPersonId,objLogin-gtPersonId),
QQEqual(QQNTicket()-gtServer-gtLOBId,this-gtls
tGroup-gtSelectedValue )), ) TicketLoad
ArrayByServerId(this-gtlstServerSearch-gtSelectedVa
lue, QQClause( this-gtdtgTickets-gtOrderByCl
ause, this-gtdtgTickets-gtLimitClause ) )
9QForms
- Pensado para ordenar la tendencia al desorden.
- Cada elemento HTML es un control
- QListBox
- QLabel
- QButton
- QDataGrid
- Los controles orientados a eventos
- Click
- Updated
- Etc.
- Los controles pueden tener una pila de eventos
asociados.
10QForms (continuación)
11QForms (continuación)
- Los eventos pueden ser AJAX enabled o no.
- Se pueden heredar controles existentes para crear
controles propios. - Se pueden crear controles que usen algún
Framework JS como JQuery o ExtJS. - Soporte para plantillas, mezcla de HTML y render
de controles.
12QI18N
- Clase interna para el manejo de la
internacionalización. - Soporta archivos .po,
- Posibilidad de usar caché en internacionalización.
13Demostración
- Firefly
- http//alapar.net/video/flash/firefly-presentation
-all.html.
14Gracias