Introducción a la programación en Joomla! - innovarioja.tv · Desarrollo componente MVC:...

Post on 04-Jun-2018

228 views 1 download

Transcript of Introducción a la programación en Joomla! - innovarioja.tv · Desarrollo componente MVC:...

Introducción a la programación en Joomla!

Sobre mi

Email: roberto@phproberto.com 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)

¿Por qué 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

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

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!

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

Casos de éxito

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

Licencias

GPL

● Requerido para JED● Licencia vírica

Ventajas

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

Modelos de negocio

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

terceros

Perfecto ecosistema!

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

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

Herramientas - IDE

● Sublime Text● PhpStorm● Netbeans● Eclipse

Herramientas – Control de versiones

Herramientas – Tareas

Nada que no permita controlar tu tiempo!

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

y....

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

Ralph Johnson (computer scientist)