construcción de frameworks a partir de smarty y pear

Post on 05-Jul-2015

1.795 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Construcción de frameworks de desarrollo usando Smarty y Pear

Salón de Grados

3 de marzo de 2010

Marcos Martínez Muñiz

¿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

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

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)

Modelo MVC

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

• Para que nos entendamos…

Modelo MVC

Modelo Vista (interfaz usuario)

Controlador

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

VISTA

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 } ?>

Interfaces con SMARTY

VS.

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…

Creación de Interfaces

• Os recomiendo este libro

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

Steve Krug

CONTROLADOR

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.

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

Construyendo nuestro framework

FRAMEWORK

CONTROLADOR VISTA

LIBRERIASPEAR SMARTYHTML

LIB JQuery

PHP JavaScriptSQL

IDE: Entorno de desarrollo integrado

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…

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

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

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

• Veamos ahora un pequeño ejemplo…

Ejemplo

Construyendo nuestro framework

FRAMEWORK

CONTROLADOR VISTA

LIBRERIASPEAR SMARTYHTML

LIB JQuery

PHP JavaScriptSQL

IDE: Entorno de desarrollo integrado

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

A. Einstein

DUDAS Y PREGUNTAS…

GRACIASConstrucción de frameworks de desarrollo usando Smarty y Pear

3 de marzo de 2010

top related