View
771
Download
3
Category
Preview:
Citation preview
JoomlaDay 2009
Taller avanzado de programación
JoomlaDay - Taller Avanzado de Desarrollo - Índice
Introducción: Presentación
Introducción: Objetivos
IDE: Instalando NetBeans
IDE: JoomlaCode
Esqueleto: Creando esqueleto
Esqueleto: Creando do.sh
Instalador: Vista version, paquete auto-actualizable
Instalador: Múltiples módulos y plugins
Instalador: Módulos en nuestras vistas
Propuesta FrontEnd: Diseño OO
Propuesta FrontEnd: Controladores y peticiones AJAX
Propuesta FrontEnd: Método genérico GET
Otros ejemplos: Más formas de potenciar nuestros componentes
Fernando Hidalgo - Juan Luis Pérez (Blobject)
Introducción: Presentación
Fernando Hidalgo (hidabe)
Juan Luis Pérez
Blobject – http://www.blobject.es
DentroVideo - http://www.dentrovideo.com
Fernando Hidalgo - Juan Luis Pérez (Blobject)
Introducción: Objetivos
Conocimientos previos deseados: Linux, IDEs, PHP, Joomla FrameWork.
Optimizar tiempo en el desarrollo.
Conocer mejor la potencia del FrameWork de Joomla.
Programación mejor estructurada.
Aplicar conceptos de Joomla 1.6 desde ya.
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE
Concepto: Integrated Development Environment
Nuestra propuesta: NetBeans, JoomlaCode, SVN
¿Por qué NetBeans en lugar de Eclipse?
Ventajas: Derivadas directamente del uso de NetBeans, JoomlaCode, SVN:
Uso de JoomlaCode (oficial)
Control de versiones,
Fácil trabajo en equipo,
Fácil y rápido desarrollo, fácil y rápidas liberaciones.
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: Instalando NetBeans
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: Instalando NetBeans
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: Instalando NetBeans
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: Instalando NetBeans
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: Instalando NetBeans
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: Instalando NetBeans
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: Instalando NetBeans
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: Instalando NetBeans
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: JoomlaCode
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: JoomlaCode
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: JoomlaCode
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: JoomlaCode
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: JoomlaCode
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: JoomlaCode
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: JoomlaCode
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: JoomlaCode
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: JoomlaCode
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: JoomlaCode
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: JoomlaCode
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: JoomlaCode
Fernando Hidalgo - Juan Luis Pérez (Blobject)
IDE: Ruegos y Preguntas
¿Tienes alguna duda?
Esqueleto: Creando esqueleto
Fernando Hidalgo - Juan Luis Pérez (Blobject)
Esqueleto: Creando esqueleto
Fernando Hidalgo - Juan Luis Pérez (Blobject)
Esqueleto: Creando esqueleto
Fernando Hidalgo - Juan Luis Pérez (Blobject)
Esqueleto: Creando esqueleto
Fernando Hidalgo - Juan Luis Pérez (Blobject)
Esqueleto: Creando esqueleto: XML
Uso de la etiqueta <folder>
Creamos index.html en todas las carpetas
Directorio sql para auto-updater
Vistas básicas del admin: version y panel
Directorio helpers en components
Method upgrade
Fernando Hidalgo - Juan Luis Pérez (Blobject)
Esqueleto: Creando do.sh
Crearemos un script: do.sh que empaquete el componente
Metemos el script en el repositorio
Ejecutamos una vez el script y añadimos el paquete al repositorio
Fernando Hidalgo - Juan Luis Pérez (Blobject)
Esqueleto: Ruegos y Preguntas
¿Tienes alguna duda?
Instalador: Vista version, auto-actualizar
¿De qué se trata? Concepto - Jfusion
Ventajas
Vista version
install.advhelloworld.php
Método getVersionLocal()
Método getVersionRemote()
Ejecutando ficheros SQLs según fecha
Ejemplo de modificación
Fernando Hidalgo - Juan Luis Pérez (Blobject)
Instalador: Múltiples módulos y plugins
¿De qué se trata? Concepto – Jfusion
Ventajas
Actualizando do.sh
Recorriendo paquetes de forma dinámica y textos en fichero de lenguaje (install.advhelloworld.php)
Ejemplo de modificación: añadir un nuevo módulo
Fernando Hidalgo - Juan Luis Pérez (Blobject)
Instalador: Modulos en nuestras vistas
Modificar los XML de las plantillas
View.php
Insertando los módulos en nuestros templates
Instalador: Ruegos y Preguntas
¿Tienes alguna duda?
Propuesta Frontend: Diseño OO
Superclases (clases abstractas)
Advhelloworld.php
Model.php View.php y Controller.php
Patrones GRASP
Bajo Acoplamiento.-Debe haber pocas dependencias entre las clases
Experto.-La responsabilidad de realizar una labor es de la clase que tiene o puede tener los datos involucrados (atributos)
Alta Cohesión.-Cada elemento debe realizar una labor única y auto-identificable
Creador.-Se asigna la responsabilidad de que una clase B cree un Objeto de la clase A solamente cuando B contiene a A, está compuesto por A, lo almacena, tiene los datos de inicialización de A o usa a A.
Propuesta Frontend: Controladores y AJAX
Valoraciones de AJAX en el Frontend
Accesibilidad
Usabilidad
Rendimiento
Ejemplos en DentroVideo con mootools 1.2
DOM
Estructura del archivo JS
Propuesta FrontEnd: Método genérico GET
Concepto: Método genérico para hacer una consulta de forma fácil a cualquier tabla.
Ventajas:
Mismo método para todas las consultas
No tenemos que escribir tanto código
Implementación del método en model.php
Ejemplo de uso en el modelo temas.php
FrontEnd: Ruegos y Preguntas
¿Tienes alguna duda?
Otros ejemplos
Componente DentroVideo.
Sistema de generación de themes.
Sistema de permisos. Elemento avanzado de Panel de Configuración de Joomla.
Potencia de Sistema de plugins y eventos. Plugin de mensajes en popup.
Discover & Import de Youtube. Uso de AJAX.
Ruegos y Preguntas
¿Tienes alguna duda?
Recommended