Desarrollando para un mundo real!

23
www.rodrigopolo.com @rodrigopolo

Transcript of Desarrollando para un mundo real!

Page 1: Desarrollando para un mundo real!

www.rodrigopolo.com@rodrigopolo

Page 2: Desarrollando para un mundo real!

Aplicaciones WebPara un mundo real.

Page 3: Desarrollando para un mundo real!

¡El Mundo Real!

Page 4: Desarrollando para un mundo real!

El Mundo Real:

• Deadlines.• Presupuesto.• Conocimiento previo.• Jefes que desconocen soluciones.• Falta de visión.

Page 5: Desarrollando para un mundo real!

Cambio de Paradigmas(dejar de solo sacar el chance)

Page 6: Desarrollando para un mundo real!

Cambio de Paradigmas

• No inventar el agua azucarada.• Solucionar, no solo “Arreglar”.• Código reutilizable.• Ser realista y conocer el ecosistema.• Programación por capas.• APIs• Pensar en un mundo global = i18n – GMT/UTC.• No se casen con nada.

Page 7: Desarrollando para un mundo real!

No inventar el agua azucarada

• Ya existen CMSs, extendamos sus posibilidades con extenciones, plug-ins, addons, etc.

• Mientras más práctica sea la solución, mejor.• A menos piezas, menor posibilidad de fallo.

Page 8: Desarrollando para un mundo real!

Solucionar, no solo “Arreglar”.

• Cualquier solución debe poder ser escalable, estar bien documentada y comentada.

• Los “chapuses” siempre salen caros.

Page 9: Desarrollando para un mundo real!

Código reutilizable

• Programación orientada a objetos.• Frameworks.• Crear librerías.• Compartir soluciones.

Page 10: Desarrollando para un mundo real!

PHP creator Rasmus Lerdorf spoke at frOSCon in August 2008, noting that he liked CodeIgniter “because it is faster, lighter and the least like a framework.”

http://en.wikipedia.org/wiki/EllisLab#CodeIgniter

Page 11: Desarrollando para un mundo real!

PHP Sucks, But It Doesn't Matterhttp://www.codinghorror.com/blog/2008/05/php-sucks-but-it-doesnt-matter.html

Page 12: Desarrollando para un mundo real!

Ser realista y conocer el ecosistema

• Conocer qué solución es más popular.• Conocer qué solución tiene más participantes

en línea.• Conocer qué solución tiene más servidores con

precios más accesibles.

Page 13: Desarrollando para un mundo real!

Programación por capas.

• Model–view–controller.• APIs – JSON – AJAX – UI

Page 14: Desarrollando para un mundo real!

Pensar en un mundo global.

• En el mundo real existen aproximadamente entre 3,000 a 6,000 idiomas actualmente.http://en.wikipedia.org/wiki/Language

• GETTEXT es el estándar por defécto actualmente.http://php.net/manual/en/book.gettext.php

Page 15: Desarrollando para un mundo real!

Pensar en un mundo global.

• En un mundo globalizado cada usuario tiene una zona horaria diferente, es necesario tener la visión de cómo administrar timestamps

Page 16: Desarrollando para un mundo real!

Pensar en un mundo global.

Page 17: Desarrollando para un mundo real!

Pensar en un mundo global.

• Brindar al usuario la posibilidad de cambiar su zona horaria.

• Almacenar registros utilizando UTC/GMT: UTC_TIMESTAMP(); en vez de NOW();

Page 18: Desarrollando para un mundo real!

No se casen con nada.

Page 19: Desarrollando para un mundo real!

Otros Puntos: Optimización

• CSS Sprites• Menos requests• HTTP Caché• SQL Caché• Benchmarking

Page 20: Desarrollando para un mundo real!

Otros Puntos: Optimización

• CSS Sprites• Menos requests• HTTP Caché• SQL Caché• Benchmarking

Page 21: Desarrollando para un mundo real!

Creen un proyecto propio(No es lo mismo verla venir que bailar con ella)

Page 22: Desarrollando para un mundo real!

Compartan con el FLOSS

Page 23: Desarrollando para un mundo real!