construcción de frameworks a partir de smarty y pear

24
Construcción de frameworks de desarrollo usando Smarty y Pear Salón de Grados 3 de marzo de 2010 Marcos Martínez Muñiz

Upload: marcos-martinez

Post on 05-Jul-2015

1.795 views

Category:

Technology


3 download

DESCRIPTION

Presentación a cargo de Laboratorio 40 de Escuela Superior de Ingeniería Informáctica de Ourense (España),

TRANSCRIPT

Page 1: Construcción de Frameworks a partir de Smarty y PEAR

Construcción de frameworks de desarrollo usando Smarty y Pear

Salón de Grados

3 de marzo de 2010

Marcos Martínez Muñiz

Page 2: Construcción de Frameworks a partir de Smarty y PEAR

¿Qué es un framework?

• Concebimos framework como un conjunto estandarizado.

• Incluye programas, bibliotecas, lenguaje/s

• Incluye metodología (?)

• Facilitar el desarrollo de software

• No centrarse en detalles de bajo nivel

Page 3: Construcción de Frameworks a partir de Smarty y PEAR

¿Para qué necesitamos un framework?

• El mercado es amplio: sobretodo en software libre.

• Existen múltiples herramientas en los lenguajes más utilizados:– Google, Kumbia, Ruby on Rails

• ¿qué necesidad tenemos de una nueva herramienta?

• ¿por qué NO?

Page 4: Construcción de Frameworks a partir de Smarty y PEAR

Construiremos nuestro framework

• Basado en el modelo vista – controlador

• Lenguaje PHP

• Objetivos:– Crear comunidad de desarrollo SL

– Creación de interfaces

– Modular

– Múltiples aplicaciones

– Construcción de un IDE (largo plazo)

Page 5: Construcción de Frameworks a partir de Smarty y PEAR

Modelo MVC

• La explicación teórica la podéis consultar en: http://es.wikipedia.org/wiki/Modelo_Vista_Controlador

• Para que nos entendamos…

Page 6: Construcción de Frameworks a partir de Smarty y PEAR

Modelo MVC

Modelo Vista (interfaz usuario)

Controlador

Page 7: Construcción de Frameworks a partir de Smarty y PEAR

¿Cómo lograr MVC?

• Para generar la vista independiente de la lógica: SMARTY

• Para independizar la persistencia de datos: PEAR -> DB_DataObject

• Otros paquetes de software ya existentes (software libre)

Page 8: Construcción de Frameworks a partir de Smarty y PEAR

VISTA

Page 9: Construcción de Frameworks a partir de Smarty y PEAR

Interfaces con SMARTY• Motor de plantillas basado en HTML y PHP

• Esto es lo que NO queremos:<body><b>Asi st ent es al act o de Graduaci &oacut e; n</ b><?php

/ / comprobamos si exi st e el usuar i o en l a graduaci oni ncl ude_once ( ' . / conf i gBD. php' ) ;Conect arBD( ) ;$sql = " SELECT * FROM asi st ent es_graduaci on“;$get = mysql _query($sql ) ;whi l e ($f i l a2 = mysql _f et ch_array($get ) ) {

?><t abl e><t r><t d><b><?php echo $f i l a2[ " NOMBRE" ] ; ?></ b><t d><t d><b><?php echo $f i l a2[ " APELLI DOS" ] ; ?></ b><t d><t d>

<?php i f ( $f i l a2[ " TI TULACI ON" ] ==1) echo " E. T. I . X. " ;El se echo " E. I . " ;?>

</ t d></ t r></ t abl e>

<?php } ?>

Page 10: Construcción de Frameworks a partir de Smarty y PEAR

Interfaces con SMARTY

VS.

Page 11: Construcción de Frameworks a partir de Smarty y PEAR

Creación de Interfaces

• Sencillez en su creación: es HTML

• Facilidad de modificación y mantenimiento: HTML y CSS

• No necesitamos programar

• Nosotros damos la herramienta para la creación…

Page 12: Construcción de Frameworks a partir de Smarty y PEAR

Creación de Interfaces

• Os recomiendo este libro

NO ME HAGAS PENSAR: UNA APROXIMACION A LA USABILIDAD EN LA WEB (2 ª ED.)

Steve Krug

Page 13: Construcción de Frameworks a partir de Smarty y PEAR

CONTROLADOR

Page 14: Construcción de Frameworks a partir de Smarty y PEAR

PEAR

• PEAR: extensión de PHP

• Utilizaremos para independizar la lógica de la capa de persistencia de datos

• Ejemplo: no habría problema en cambiar de MySQL a Oracle

• Podremos utilizar muchos otros paquetes: autenticación, encriptado de datos, manejo XML, etc.

Page 15: Construcción de Frameworks a partir de Smarty y PEAR

PEAR -> DB_DataObject

• Genera las clases de la BD automáticamente

• Su sintaxis se aproxima a la ya conocida en PHP

• Devuelve los datos de consulta en forma de objetos

• Estamos estudiando la posibilidad de utilizar MDB2

Page 16: Construcción de Frameworks a partir de Smarty y PEAR

Construyendo nuestro framework

FRAMEWORK

CONTROLADOR VISTA

LIBRERIASPEAR SMARTYHTML

LIB JQuery

PHP JavaScriptSQL

IDE: Entorno de desarrollo integrado

Page 17: Construcción de Frameworks a partir de Smarty y PEAR

Librerías propias

• Construimos nuestras propias librerías

• Re – Utilizamos librerías basadas en proyectos de software libre

• Lenguajes que utilizaremos: – PHP en la parte del servidor

– JAVASCRIPT en el cliente

• Otros lenguajes: python, XML, apletts java, etc…

Page 18: Construcción de Frameworks a partir de Smarty y PEAR

Otros paquetes utilizados

• Editor HTML: FCKeditor, típico de gestores de contenido

• AJAX CALENDAR: para los selectores de fecha

• APERTIUM: traductor automático basado en software libre

• PHPMAILER: clase para envio de mail a través de SMTP o SendMail

• FPDF: para trabajar con archivos PDF

Page 19: Construcción de Frameworks a partir de Smarty y PEAR

Otros paquetes utilizados

• JQuery: biblioteca de funciones basadas en JavaScript.– Eventos Asíncronos

– Validación de formularios

– Generación de menús

– Efectos en la interfaz

• API de aplicaciones web 2.0

• Según demanda de funcionalidad: integrable

Page 20: Construcción de Frameworks a partir de Smarty y PEAR

RESUMEN

• Crear comunidad desarrollo

• Modular, integrable y escalable

• Aumentar la sencillez en el desarrollo de aplicaciones web orientadas por funcionalidad (no es un gestor de contenidos)

• Comunicación con otras herramientas existentes

• Futuro: un IDE completo

Page 21: Construcción de Frameworks a partir de Smarty y PEAR

• Veamos ahora un pequeño ejemplo…

Ejemplo

Page 22: Construcción de Frameworks a partir de Smarty y PEAR

Construyendo nuestro framework

FRAMEWORK

CONTROLADOR VISTA

LIBRERIASPEAR SMARTYHTML

LIB JQuery

PHP JavaScriptSQL

IDE: Entorno de desarrollo integrado

Page 23: Construcción de Frameworks a partir de Smarty y PEAR

"No entiendes realmente algo a menos que seas capaz de explicárselo a tu abuela“

A. Einstein

DUDAS Y PREGUNTAS…

Page 24: Construcción de Frameworks a partir de Smarty y PEAR

GRACIASConstrucción de frameworks de desarrollo usando Smarty y Pear

3 de marzo de 2010