Introduccción a la programación en Joomla!

17
Introducción a la programación en Joomla!

description

¿Quieres saber lo fácil que es empezar a programar extensiones para Joomla? ¿Qué necesitas? ¿Qué beneficios tiene Joomla frente a otras plataformas? Esta sesión pretende resolver todas tus dudas y enseñarte el camino para ponerte a programar.

Transcript of Introduccción a la programación en Joomla!

Page 1: Introduccción a la programación en Joomla!

Introducción a la programación en Joomla!

Page 2: Introduccción a la programación en Joomla!

Sobre mi

Email: [email protected] Twitter: @phproberto

● Desarrollador freelance● Contribuidor a Joomla! CMS & Framework ● Contribuidor a Twitter Bootstrap,

Prestashop, K2, Joostrap● Mantenedor de Joomla en Github● Miembro del Joomla Production Leadership

Team (PLT)

Page 3: Introduccción a la programación en Joomla!

¿Por qué Joomla?

Page 4: Introduccción a la programación en Joomla!

Joomla vs otros

➔ WordPress = Peor código & mayor cuota de mercado➔ Drupal = mejor código & menor cuota de mercado

✔ Evolucionable / sostenible✔ POO, MVC... mejores prácticas✔ Multilenguaje nativo✔ Usado en todo el mundo✔ +7800 extensiones✔ 100% responsive✔ Aprende de sus errores✔ OSM (fundación) + meritocracia✔ Documentación✔ Una gran familia✔ Pruebas unitarias

Page 5: Introduccción a la programación en Joomla!

Versiones

1. Versión MAYOR si haces cambios incompatibles en la API2. Versión MENOR si añades una funcionalidad compatible3. Parche para solucionar fallos de manera compatible

Page 6: Introduccción a la programación en Joomla!

Ventajas como programador

➔ Git➔ Phpcs➔ Phing, Grunt, Gulp➔ XDebug➔ LESS, Sass➔ Diseño responsive➔ Curva de aprendizaje estable➔ Desarrolla extensiones de extensiones➔ Evoluciona como programador

+ inglés = trabajo!

Page 7: Introduccción a la programación en Joomla!

Ventajas contribuidor

➔Escaparate internacional➔Ser corregido por los mejores➔Realización personal➔Ventaja competitiva empresa➔Clientes indirectos➔Crea la última tecnología➔Sinergias con otros desarrolladores➔Patrocinio eventos Joomla

Page 8: Introduccción a la programación en Joomla!

Casos de éxito

➔ Peter Van Westen➔ Nicholas Dionysopoulos ➔ Nueva ley de cookies = $$$$$

Page 9: Introduccción a la programación en Joomla!

Licencias

GPL

● Requerido para JED● Licencia vírica

Ventajas

● Cualquiera puede retomar tu proyecto● Confianza del cliente● Contribuciones● Fácil contratación

Page 10: Introduccción a la programación en Joomla!

Modelos de negocio

● Creación de sitios web● Desarrollo de extensiones● Consultoría● Subcontratación por

terceros

Perfecto ecosistema!

Page 11: Introduccción a la programación en Joomla!

Desarrollo de extensiones

✔ Git no es opcional✔ Keep It Simple Stupid (KISS)✔ Itera, mejora✔ Actualización = valor añadido✔ Considera RAD✔ Don't Repeat Yourself (DRY)✔ Soporte para 2.5 y 3.x✔ Joomla estandars

Page 12: Introduccción a la programación en Joomla!

Recuerda

● Copia, copia y copia● Documentación de calidad● Foro de soporte / contacto● Actualiza JED por la mañana :)● Gestiona tu tiempo / tareas● Conexión con otras extensiones● 1 extensión en JED ~ 100 visitantes● Skype

Page 13: Introduccción a la programación en Joomla!

Herramientas - IDE

● Sublime Text● PhpStorm● Netbeans● Eclipse

Page 14: Introduccción a la programación en Joomla!

Herramientas – Control de versiones

Page 15: Introduccción a la programación en Joomla!

Herramientas – Tareas

Nada que no permita controlar tu tiempo!

Page 16: Introduccción a la programación en Joomla!

Recursos

Documentación – docs.joomla.orgForo – forum.joomla.orgGrupo google - Joomla! CMS DevelopmentCMSGrupo google - Joomla! General DevelopmentGrupo google - Framework on Framework

Desarrollo componente MVC:http://docs.joomla.org/J2.5:Developing_a_MVC_Component/Introduction

Page 17: Introduccción a la programación en Joomla!

y....

“Before software can be reusable it first has to be usable.”

Ralph Johnson (computer scientist)