Más Documentación sobre Ingeniería del Software

He estado subiendo todos los documentos que tenía en la Forja a la web de SlideShare, además de algunas charlas que he presentado, iré subiendo conforme vaya haciendo nuevas.

Por ejemplo he subido una presentación llamada “Depurando Javascript con Firebug“:

e incluso la memoria del proyecto:

Si queréis mucha más información sobre Usabilidad y Arquitectura de la Información orientada a aplicaciones web, pasaros por la web Programador PHP.org.

Comparativa ATK Framework – zenphp framework

atk_vs_zenphp

Acabo de leer un artículo de Ivo Jansch, un profesional de Oracle diciendo que empresas de todos los tamaños tienen la necesidad de portar las aplicaciones de escritorio que usan bases de datos Oracle a aplicaciones web ,según nos dice, por la gran facilidad, usan un framework: ATK Framework.

El tesoro de este framework es la gran facilidad para crear administradores con sólo varias líneas de código, y es algo que me ha gustado bastante, podéis comprobarlo en su web.

Es justo la parte débil de zenphp.

Sin embargo, echando un vistazo al código vemos que realmente sí que son más líneas, porque se van definiendo los menús y sus accesos, se usan nodos de tipo atkNode, y como suele pasar con los frameworks gigantescos, tenemos que empezar a conocer la extensa terminología única de ATK:

—-
/**
* This node is new. It is used to edit profiles. A profile is a set of user
* privileges. In this scenario, each user has one profile (many-to-one
* relation).
*/
useattrib(“atkdummyattribute”);

/**
* The profileattribute can be used to edit the privileges.
*/
useattrib(“atkprofileattribute”);
—-

etc.

Son todas estas distracciones las que he intentado eliminar, por eso zenphp no tiene instalación, al copiarse ya se puede utilizar.

Y hacedme caso, no necesitáis escribir un framework completo para escribir una buena herramienta de administración, sobre todo tan reducida como la de ATK. Si queréis ver algunos ejemplos, mirad en http://programadorphp.org

Extensiones de PHP: Librerías incluidas en zenphp

Las librerías de zenphp son contenidos opcionales, no son necesarias en el núcleo,pero ayudan mucho a la hora de añadir funcionalidades a una aplicación. Primero se añadieron las librerías fundamentales como las de correo y gráficas (charts), ahora le toca el turno a las más avanzadas:

  • Librería para crear PDF’s (ezPDF)
  • Librería para crear ficheros de Excel (ExcelWriter)
  • Librería para generar descargas de ficheros (zen_descarga)
  • Librería para descargar contenido de Twitter
  • Librería para crear ficheros comprimidos (createZip )

Pongo una captura de la primera:

Captura del generador de PDF

<?php

require("zenphp/zen.php");

if (!zen___carga_clase('Cezpdf')) die("No se pudo cargar la clase PDF");

$pdf =& new Cezpdf();

$pdf->selectFont('zenphp/contenido/fuentes/Avgardm.ttf');

$x=578; $r1=25;

for ($xw=40;$xw>0;$xw-=3){

    $tono=1.0-$xw/40*0.2;

    $pdf->setLineStyle($xw);

    $pdf->setStrokeColor($tono,1,$tono);

    $pdf->ellipse(50,750,$r1);

    $r1=$r1+$xw;

}

for ($xw=40;$xw>0;$xw-=3){

    $tono=1.0-$xw/40*0.2;

    $pdf->setStrokeColor($tono,$tono,1);

    $pdf->setLineStyle($xw);

    $pdf->line($x,0,$x,842);

    $x=$x-$xw-2;

}

$pdf->ezText("Contenido PDFnn",24);

$pdf->ezImage('zenphp/contenido/img/logo.jpg',0,0,'none','center');

$pdf->ezImage('zenphp/contenido/img/img05.jpg',0,0,'none','left');

$pdf->ezText("Prueba PDF",16);

$pdf->ezStream();

?>

La única que he escrito es zen_descarga, el resto son de otros autores,pero con licencia LGPL. 😉

En un par de líneas las tenemos funcionando 🙂