enterprise php (phpbarcelona en lancelona)

27
Enterprise PHP (Desarrollo Web 2.0) por Oriol Jiménez y Carlos Buenosvinos <? PHPBarcelona

Upload: oriol-jimenez

Post on 19-Jun-2015

1.308 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Enterprise PHP (PHPBarcelona en Lancelona)

Enterprise PHP(Desarrollo Web 2.0)

por Oriol Jiménez y Carlos Buenosvinos

<? PHPBarcelona

Page 2: Enterprise PHP (PHPBarcelona en Lancelona)

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

El PHPno podrás vivir sin él

Page 3: Enterprise PHP (PHPBarcelona en Lancelona)

¿Qué es?

• Lenguaje de programación interpretado.

• Diseñado originalmente para producir páginas web dinámicas (aplicaciones web).

• Se pueden desarrollar otros tipos de aplicación: scripts CLI, usando Ncurses, aplicaciones gráficas con GTK, etc.

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 4: Enterprise PHP (PHPBarcelona en Lancelona)

¿Qué es?

• PHP Hypertext Preprocessor.

• Creado originalmente por Rasmus Lerdorf en 1995.

• Actualmente mantenido por The PHP Group.

• Considerado “free software”.

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 5: Enterprise PHP (PHPBarcelona en Lancelona)

¿Cómo funciona?

• Puede ser embedido dentro del HTML.

• Se ejecuta en el lado del servidor.

• El intérprete procesa código PHP y produce código HTML.

• El tutorial:

<strong><?php echo ‘Hola’; ?></strong>

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 6: Enterprise PHP (PHPBarcelona en Lancelona)

¿De dónde viene?

• 1995 - Primera versión (Rasmus)

• 1997 - Segunda versión (1% de la red)

• 1998 - Tercera versión (10% de la red)

• 2000 - Cuarta versión

• 2004 - Quinta versión (20 % de la red)

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 7: Enterprise PHP (PHPBarcelona en Lancelona)

¿A dónde va?

• 1998

• Utilidades personales

• 2002

• Webs simples, Muchos CMS y blogs...

• 2008

• Sites grandes, bancos, cías de seguros...

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 8: Enterprise PHP (PHPBarcelona en Lancelona)

¿A dónde va?

• Lo que llegará con PHP 6.0:

• Mejor soporte de unicode.

• Soporte de namespaces.

• Extensiones SOAP/XML por defecto.

• Se eliminan funcionalidades desfasadas.

• Casi todo en PHP 5.3 para “facilitar” la migración.

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 9: Enterprise PHP (PHPBarcelona en Lancelona)

¿Cuántos lo usan?Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 10: Enterprise PHP (PHPBarcelona en Lancelona)

¿Quién lo usa?

• Algunos sites conocidos:

• Yahoo! (1)

• Wikipedia (8)

• Flickr (32)

• Digg (135)

• SourceForge, Atrapalo, Softonic...

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 11: Enterprise PHP (PHPBarcelona en Lancelona)

¿Está listo para la empresa?• ¿Es un juguete para realizar prototipos y webs

simples en comparación al “incomparable” Java?

• Java es grande, pesado y lento aunque es Enterprise friendly.

• PHP es pequeño, ligero y rápido pero es demasiado barato y fácil de aprender.

• Barato: malo para grandes corporaciones.

• Fácil: poca profesionalización del sector.

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 12: Enterprise PHP (PHPBarcelona en Lancelona)

“El tamaño no importa”

• En un lenguaje de programación lo más importante es lo que haces con él.

• En la libertad que ofrece radica su potencial.

• A pesar de ser simple se pueden construir grandes sistemas de la complejidad que sea.

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 13: Enterprise PHP (PHPBarcelona en Lancelona)

Crítica comunes

• “No posee una abstracción de base de datos estándar, sino bibliotecas especializadas para cada motor.”

• PDO, AdoDB, etc.

• “No posee adecuado manejo de internacionalización, unicode, etc.”

• Falso, pero mucho mejor en PHP 5.3/6.0

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 14: Enterprise PHP (PHPBarcelona en Lancelona)

Crítica comunes

• “Por su diseño dinámico no puede ser compilado y es muy difícil de optimizar.”

• Xdebug, Zend Debugger, etc.

• “Por sus características favorece la creación de código desordenado y complejo de mantener.”

• La calidad del código depende del programador.

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 15: Enterprise PHP (PHPBarcelona en Lancelona)

Crítica comunes

• “Al ser un lenguaje interpretado es más rápido el desarrollo pero más lenta la ejecución.”

• Muy cierto. Aunque tenemos APC, Eaccelerator, etc.

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 16: Enterprise PHP (PHPBarcelona en Lancelona)

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Desarrollo Weben la empresa

Page 17: Enterprise PHP (PHPBarcelona en Lancelona)

El equipo

• “Yo sé hacer páginas web”

• Ingenieros de Software

• Conocimientos específicos y experiencia

• Base sólida en OO

• Posible certificación Zend

• ...

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 18: Enterprise PHP (PHPBarcelona en Lancelona)

La metodología

• Análisis de requisitos

• Especificación

• Diseño y Arquitectura

• Programación

• Pruebas

• Documentación y Mantenimiento

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 19: Enterprise PHP (PHPBarcelona en Lancelona)

La metodología

• Desarrollo ágil de software:

• Eliminar tanta burocracia de los caminos tradicionales.

• Enfocado a la gente y a los resultados.

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 20: Enterprise PHP (PHPBarcelona en Lancelona)

¿Qué quiere el cliente?

• Especificación de Requerimientos del Sistema.

• De esta etapa depende en gran medida el logro de los objetivos finales.

• Mediante:

• Prototipos, Casos de uso, Diagramas de flujo, etc.

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 21: Enterprise PHP (PHPBarcelona en Lancelona)

¿Cómo lo hacemos?

• Especificación la Arquitectura del sistema.

• Pensar antes de empezar.

• Usar patrones de diseño (MVC, Factory, Singleton, etc.)

• Mediante:

• Diagramas de clases, Modelos de datos, Diagramas de colaboración, etc. (UML).

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 22: Enterprise PHP (PHPBarcelona en Lancelona)

¿Con qué lo hacemos?

• IDEs de desarrollo: Eclipse, Zend Studio, VIM, PhpED...

• Control de versiones: CVS, SVN...

• Segiumiento de tareas/errores: Bugzilla, Trac...

• Documentación con PHPDoc.

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 23: Enterprise PHP (PHPBarcelona en Lancelona)

No reinventar la rueda

• Usar frameworks:

• Symfony, Zend, CakePHP, ezComponents...

• Definen guías sobre cómo desarrollar (frame)

• Ofrecen muchos módulos con funcionalidades listas para usar.

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 24: Enterprise PHP (PHPBarcelona en Lancelona)

Testing

• Test funcional, de rendimiento, de usabilidad, etc.

• Mediante:

• PHPUnit, SimpleTest, JMeter, SilkTest...

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 25: Enterprise PHP (PHPBarcelona en Lancelona)

¿Dónde lo subimos?

• Diseño de una Arquitectura de sistemas acorde a los requisitos.

• Alta disponibilidad, escalable, todo redundante, sistemas de caché, optimización de SO, etc.

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

Page 26: Enterprise PHP (PHPBarcelona en Lancelona)

Gracias!!Enterprise PHP (Desarrollo Web 2.0)

• Nos vemos en la siguiente Beers & PHP :)

• Todo el material en http://phpbarcelona.org

<? PHPBarcelona

Page 27: Enterprise PHP (PHPBarcelona en Lancelona)

Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona

...y ahora una aplicación web en 20 minutos