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? <ul><li>Concebimos  framework  como un  conjunto   estandarizado . </li></ul><ul><li>Incluye program...
¿Para qué necesitamos un framework? <ul><li>El mercado es amplio: sobretodo en software libre. </li></ul><ul><li>Existen m...
Construiremos nuestro  framework <ul><li>Basado en el modelo vista – controlador </li></ul><ul><li>Lenguaje  PHP </li></ul...
Modelo MVC <ul><li>La explicación teórica la podéis consultar en:  http://es.wikipedia.org/wiki/Modelo_Vista_Controlador <...
Modelo MVC Modelo Vista (interfaz usuario) Controlador
¿Cómo lograr MVC? <ul><li>Para generar la vista independiente de la lógica: SMARTY </li></ul><ul><li>Para independizar la ...
VISTA
Interfaces con SMARTY <ul><li>Motor de plantillas basado en HTML y PHP </li></ul><ul><li>Esto es lo que  NO  queremos: </l...
Interfaces con SMARTY VS.
Creación de Interfaces <ul><li>Sencillez en su creación: es HTML </li></ul><ul><li>Facilidad de modificación y mantenimien...
Creación de Interfaces <ul><li>Os recomiendo este libro </li></ul><ul><li>NO ME HAGAS PENSAR: UNA APROXIMACION A LA USABIL...
CONTROLADOR
PEAR <ul><li>PEAR: extensión de PHP </li></ul><ul><li>Utilizaremos para independizar la lógica de la capa de persistencia ...
PEAR -> DB_DataObject <ul><li>Genera las  clases de la BD  automáticamente </li></ul><ul><li>Su  sintaxis  se aproxima a l...
Construyendo nuestro framework FRAMEWORK CONTROLADOR VISTA LIBRERIAS PEAR SMARTY HTML LIB JQuery PHP JavaScript SQL IDE: E...
Librerías propias <ul><li>Construimos  nuestras propias librerías </li></ul><ul><li>Re – Utilizamos  librerías basadas en ...
Otros paquetes utilizados <ul><li>Editor HTML:  FCKeditor, típico de gestores de contenido </li></ul><ul><li>AJAX CALENDAR...
Otros paquetes utilizados <ul><li>JQuery : biblioteca de funciones basadas en JavaScript. </li></ul><ul><ul><li>Eventos As...
RESUMEN <ul><li>Crear comunidad desarrollo </li></ul><ul><li>Modular, integrable y escalable </li></ul><ul><li>Aumentar la...
<ul><li>Veamos ahora un pequeño ejemplo… </li></ul>Ejemplo
Construyendo nuestro framework FRAMEWORK CONTROLADOR VISTA LIBRERIAS PEAR SMARTY HTML LIB JQuery PHP JavaScript SQL IDE: E...
<ul><li>&quot;No entiendes realmente algo a menos que seas capaz de explicárselo a tu abuela“ </li></ul><ul><li>A. Einstei...
GRACIAS Construcción de  frameworks  de desarrollo usando  Smarty  y  Pear 3 de marzo de 2010
Upcoming SlideShare
Loading in …5
×

Construcción de Frameworks a partir de Smarty y PEAR

1,953 views

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,953
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
30
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Construcción de Frameworks a partir de Smarty y PEAR

  1. 1. Construcción de frameworks de desarrollo usando Smarty y Pear Salón de Grados 3 de marzo de 2010 Marcos Martínez Muñiz
  2. 2. ¿Qué es un framework? <ul><li>Concebimos framework como un conjunto estandarizado . </li></ul><ul><li>Incluye programas, bibliotecas, lenguaje/s </li></ul><ul><li>Incluye metodología (?) </li></ul><ul><li>Facilitar el desarrollo de software </li></ul><ul><li>No centrarse en detalles de bajo nivel </li></ul>
  3. 3. ¿Para qué necesitamos un framework? <ul><li>El mercado es amplio: sobretodo en software libre. </li></ul><ul><li>Existen múltiples herramientas en los lenguajes más utilizados: </li></ul><ul><ul><li>Google, Kumbia, Ruby on Rails </li></ul></ul><ul><li>¿qué necesidad tenemos de una nueva herramienta? </li></ul><ul><li>¿por qué NO? </li></ul>
  4. 4. Construiremos nuestro framework <ul><li>Basado en el modelo vista – controlador </li></ul><ul><li>Lenguaje PHP </li></ul><ul><li>Objetivos: </li></ul><ul><ul><li>Crear comunidad de desarrollo SL </li></ul></ul><ul><ul><li>Creación de interfaces </li></ul></ul><ul><ul><li>Modular </li></ul></ul><ul><ul><li>Múltiples aplicaciones </li></ul></ul><ul><ul><li>Construcción de un IDE (largo plazo) </li></ul></ul>
  5. 5. Modelo MVC <ul><li>La explicación teórica la podéis consultar en: http://es.wikipedia.org/wiki/Modelo_Vista_Controlador </li></ul><ul><li>Para que nos entendamos… </li></ul>
  6. 6. Modelo MVC Modelo Vista (interfaz usuario) Controlador
  7. 7. ¿Cómo lograr MVC? <ul><li>Para generar la vista independiente de la lógica: SMARTY </li></ul><ul><li>Para independizar la persistencia de datos: PEAR -> DB_DataObject </li></ul><ul><li>Otros paquetes de software ya existentes (software libre) </li></ul>
  8. 8. VISTA
  9. 9. Interfaces con SMARTY <ul><li>Motor de plantillas basado en HTML y PHP </li></ul><ul><li>Esto es lo que NO queremos: </li></ul><ul><li><body> </li></ul><ul><li><b>Asistentes al acto de Graduaci&oacute;n</b> </li></ul><ul><li><?php </li></ul><ul><ul><li>//comprobamos si existe el usuario en la graduacion </li></ul></ul><ul><ul><li>include_once ('./configBD.php'); </li></ul></ul><ul><ul><li>ConectarBD(); </li></ul></ul><ul><ul><li>$sql = &quot;SELECT * FROM asistentes_graduacion“; </li></ul></ul><ul><ul><li>$get = mysql_query($sql); </li></ul></ul><ul><ul><li>while ($fila2 = mysql_fetch_array($get)) { </li></ul></ul><ul><li>?> </li></ul><ul><li><table> </li></ul><ul><li><tr> </li></ul><ul><li><td><b><?php echo $fila2[&quot;NOMBRE&quot;];?></b><td> </li></ul><ul><li><td><b><?php echo $fila2[&quot;APELLIDOS&quot;];?></b><td> </li></ul><ul><li><td> </li></ul><ul><ul><li><?php </li></ul></ul><ul><ul><li>if ($fila2[&quot;TITULACION&quot;]==1) echo &quot;E.T.I.X.&quot;; </li></ul></ul><ul><ul><li>Else echo &quot;E.I.&quot;; </li></ul></ul><ul><ul><li>?> </li></ul></ul><ul><li></td> </li></ul><ul><li></tr> </li></ul><ul><li></table> </li></ul><ul><li><?php } ?> </li></ul>
  10. 10. Interfaces con SMARTY VS.
  11. 11. Creación de Interfaces <ul><li>Sencillez en su creación: es HTML </li></ul><ul><li>Facilidad de modificación y mantenimiento: HTML y CSS </li></ul><ul><li>No necesitamos programar </li></ul><ul><li>Nosotros damos la herramienta para la creación… </li></ul>
  12. 12. Creación de Interfaces <ul><li>Os recomiendo este libro </li></ul><ul><li>NO ME HAGAS PENSAR: UNA APROXIMACION A LA USABILIDAD EN LA WEB (2 ª ED.) </li></ul><ul><li>Steve Krug </li></ul>
  13. 13. CONTROLADOR
  14. 14. PEAR <ul><li>PEAR: extensión de PHP </li></ul><ul><li>Utilizaremos para independizar la lógica de la capa de persistencia de datos </li></ul><ul><li>Ejemplo: no habría problema en cambiar de MySQL a Oracle </li></ul><ul><li>Podremos utilizar muchos otros paquetes: autenticación, encriptado de datos, manejo XML, etc. </li></ul>
  15. 15. PEAR -> DB_DataObject <ul><li>Genera las clases de la BD automáticamente </li></ul><ul><li>Su sintaxis se aproxima a la ya conocida en PHP </li></ul><ul><li>Devuelve los datos de consulta en forma de objetos </li></ul><ul><li>Estamos estudiando la posibilidad de utilizar MDB2 </li></ul>
  16. 16. Construyendo nuestro framework FRAMEWORK CONTROLADOR VISTA LIBRERIAS PEAR SMARTY HTML LIB JQuery PHP JavaScript SQL IDE: Entorno de desarrollo integrado
  17. 17. Librerías propias <ul><li>Construimos nuestras propias librerías </li></ul><ul><li>Re – Utilizamos librerías basadas en proyectos de software libre </li></ul><ul><li>Lenguajes que utilizaremos: </li></ul><ul><ul><li>PHP en la parte del servidor </li></ul></ul><ul><ul><li>JAVASCRIPT en el cliente </li></ul></ul><ul><li>Otros lenguajes: python, XML, apletts java, etc… </li></ul>
  18. 18. Otros paquetes utilizados <ul><li>Editor HTML: FCKeditor, típico de gestores de contenido </li></ul><ul><li>AJAX CALENDAR: para los selectores de fecha </li></ul><ul><li>APERTIUM: traductor automático basado en software libre </li></ul><ul><li>PHPMAILER: clase para envio de mail a través de SMTP o SendMail </li></ul><ul><li>FPDF: para trabajar con archivos PDF </li></ul>
  19. 19. Otros paquetes utilizados <ul><li>JQuery : biblioteca de funciones basadas en JavaScript. </li></ul><ul><ul><li>Eventos Asíncronos </li></ul></ul><ul><ul><li>Validación de formularios </li></ul></ul><ul><ul><li>Generación de menús </li></ul></ul><ul><ul><li>Efectos en la interfaz </li></ul></ul><ul><li>API de aplicaciones web 2.0 </li></ul><ul><li>Según demanda de funcionalidad: integrable </li></ul>
  20. 20. RESUMEN <ul><li>Crear comunidad desarrollo </li></ul><ul><li>Modular, integrable y escalable </li></ul><ul><li>Aumentar la sencillez en el desarrollo de aplicaciones web orientadas por funcionalidad (no es un gestor de contenidos) </li></ul><ul><li>Comunicación con otras herramientas existentes </li></ul><ul><li>Futuro: un IDE completo </li></ul>
  21. 21. <ul><li>Veamos ahora un pequeño ejemplo… </li></ul>Ejemplo
  22. 22. Construyendo nuestro framework FRAMEWORK CONTROLADOR VISTA LIBRERIAS PEAR SMARTY HTML LIB JQuery PHP JavaScript SQL IDE: Entorno de desarrollo integrado
  23. 23. <ul><li>&quot;No entiendes realmente algo a menos que seas capaz de explicárselo a tu abuela“ </li></ul><ul><li>A. Einstein </li></ul>DUDAS Y PREGUNTAS…
  24. 24. GRACIAS Construcción de frameworks de desarrollo usando Smarty y Pear 3 de marzo de 2010

×