View
1.309
Download
1
Category
Preview:
Citation preview
Enterprise PHP(Desarrollo Web 2.0)
por Oriol Jiménez y Carlos Buenosvinos
<? PHPBarcelona
Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona
El PHPno podrás vivir sin él
¿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
¿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
¿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
¿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
¿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
¿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
¿Cuántos lo usan?Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona
¿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
¿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
“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
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
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
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
Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona
Desarrollo Weben la empresa
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
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
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
¿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
¿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
¿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
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
Testing
• Test funcional, de rendimiento, de usabilidad, etc.
• Mediante:
• PHPUnit, SimpleTest, JMeter, SilkTest...
Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona
¿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
Gracias!!Enterprise PHP (Desarrollo Web 2.0)
• Nos vemos en la siguiente Beers & PHP :)
• Todo el material en http://phpbarcelona.org
<? PHPBarcelona
Enterprise PHP (Desarrollo Web 2.0)<? PHPBarcelona
...y ahora una aplicación web en 20 minutos
Recommended