You are on page 1of 50

Curso de Programacin Web

en PHP
Fundacin Metropolitana del Ecuador
Profesor: MSc. Carlos M. Delgado
cmdelgador@gmail.com

1er encuentro

Historia de la Internet.
La internet de hoy.
La web como herramienta.
Construccin de pginas web.
Lenguajes de programacin.
Servidor y flujo de datos.
Comparacin entre la programacin Web y Desktop.
Arquitecturas de desarrollo de Aplicaciones Web.
Patrones de Diseo.

Generalidades del curso.


Qu necesitas para programar Web en PHP.
Temas en este curso.

Historia de la Internet.
1962. Inicio de investigaciones por parte de ARPA, una agencia del
ministerio estadounidense de defensa, y se defienden ideas relativas a
una red global de computadoras.
1969. Conexin de las primeras computadoras entre 4 universidades
estadounidenses a travs de la Interface Message Processor.
1971. 23 computadoras son conectadas a ARPANET. Envo del primer
correo.
1983. Primer servidor de nombres de sitios.
1984. 1000 computadoras conectadas.
1989. 100000 computadoras conectadas.
1991. Se anuncia pblicamente la World Wide Web. Desaparece
ARPANET.

1991. Primer sitio web Oficial.


1993. Aparicin del navegador web NCSA Mosaic y el primer
buscador de la historia, Wandex serva como un ndice de pginas
web.
1995. Surge Yahoo.
1996. 10 millones de computadoras conectadas.
1998. Fundacin de Google (nuevos enfoques para el
ordenamiento por relevancia)
2000. Explosin de la Internet Mundial.

Primer Sitio Web de la Historia.

La internet de hoy.

Qu se hace hoy en internet?

La web cmo herramienta principal de


Internet

Qu es una Web?
Una pgina web, pgina electrnica o ciberpgina, es un documento
o informacin electrnica capaz de contener texto, sonido, vdeo,
programas, enlaces, imgenes, y muchas otras cosas, adaptada para
la llamada World Wide Web (WWW) y que puede ser accedida
mediante un navegador. Esta informacin se encuentra generalmente
en formato HTML o XHTML, y puede proporcionar navegacin
(acceso) a otras pginas web mediante enlaces de hipertexto. Las
pginas web frecuentemente tambin incluyen otros recursos como
pueden ser hojas de estilo en cascada, guiones (scripts), imgenes
digitales, entre otros.

Web 1.0
La Web 1.0 (1991-2003) estado ms bsico de la World Wide Web, con
navegadores de slo texto.
La Web 1.0 es de slo lectura. El usuario no puede interactuar con el
contenido de la pgina (nada de comentarios, respuestas, citas, etctera).
Es en general un trmino que ha sido creado para describir la Web antes
del impacto de la fiebre punto .com en el 2000-2001, que es visto por
muchos como el momento en que el internet dio un giro contundente.

Web 2.0
El trmino Web 2.0 se refiere a una serie de aplicaciones y pginas de
Internet que utilizan la inteligencia colectiva para proporcionar
servicios interactivos en red.
Blogs: Espacio web personal. (La blogosfera es el conjunto de blogs
que hay en internet)
Wikis: En hawaiano "wiki" significa: rpido, informal.

Web 3.0
Web 3.0 es una expresin que se utiliza para describir la evolucin del
uso y la interaccin de las personas en internet a travs de diferentes
formas entre los que se incluyen la transformacin de la red en una
base de datos, un movimiento social hacia crear contenidos
accesibles por mltiples aplicaciones non-browser, el empuje de las
tecnologas de inteligencia artificial, la web semntica, la Web
Geoespacial o la Web 3D.

Web 4.0
El Objetivo Primordial es unir las inteligencias de las personas y las
cosas, logrando la comunicacin entre s.
Para el 2020 se espera que haya agentes en la Web que conozcan,
aprendan y razonen como lo hacemos las personas.

Evolucin de la Web.

Construccin de Pginas Web.


Tecnologas Web

Tecnologas Web

(Filosofa cliente - servidor)

(Filosofa cliente - servidor)

Tecnologas del lado del Cliente

Tecnologas del lado del Servidor

Navegador Web
Internet Explorer
Netscape Navigator

Servidor Web
Internet Information Server (IIS)
Apache

Tecnologas de programacin
HTML
Hojas de estilo en cascada(CSS)
JavaScript.

Tecnologas de Programacin
PHP
ASP
ASP.NET

Tecnologa Cliente - Servidor

HTML.
HTML, sigla en ingls de HyperText Markup Language (lenguaje de
marcas de hipertexto), hace referencia al lenguaje de marcado para la
elaboracin de pginas web. Es un estndar que sirve de referencia
del software que conecta con la elaboracin de pginas web en sus
diferentes versiones, define una estructura bsica y un cdigo
(denominado cdigo HTML) para la definicin de contenido de una
pgina web, como texto, imgenes, videos, juegos, entre otros.

Javascript.
JavaScript (abreviado comnmente JS) es un lenguaje de
programacin interpretado. Se define como orientado a objetos,
basado en prototipos y dinmico.
Se utiliza principalmente en su forma del lado del cliente (client-side),
implementado como parte de un navegador web permitiendo
mejoras en la interfaz de usuario y pginas web dinmicas.

CSS.
Hoja de estilo en cascada o CSS (siglas en ingls de cascading style
sheets) es un lenguaje usado para definir y crear la presentacin de
un documento estructurado escrito en HTML.

PHP.
PHP es un lenguaje de programacin de uso general de cdigo del
lado del servidor originalmente diseado para el desarrollo web de
contenido dinmico. Se puede incorporar directamente en el
documento HTML y el cdigo es interpretado por un servidor web con
un mdulo de procesador de PHP que genera la pgina web
resultante.

Apache.
Apache es un poderoso servidor web, completamente libre, ya que es
un software Open Source y con licencia GPL. Una de las ventajas ms
grandes de Apache, es que es un servidor web multiplataforma, es
decir, puede trabajar con diferentes sistemas operativos y mantener
su excelente rendimiento.

Flujo de Datos.

Navegador

Apache
Codificacin PHP, JS, CSS y HTML.
Acceso a datos.

Comparacin con la Programacin Desktop


Programacin de Sistemas Informticos

Cliente Enriquecido
Programacin de
Aplicaciones de
Escritorio

Cliente Inteligente

Programacin de
Sistemas Web

Cliente Enriquecido
(Ejecucin de cdigo)

Escrito en
lenguaje de
alto nivel

Cdigo Fuente

Compilador

Aplicacin
Resultante

Cdigo Ejecutable

Borland Builder C++, Delphi,etc

10101010100

Caso de Java
Escrito en
lenguaje
java

Cdigo Fuente

Compilador

ByteCode

Cdigo Intermedio

Interprete

Mquina Virtual

Eclipse, NetBeans,etc

10101010100

Cliente Inteligente
(Ejecucin de cdigo)

Navegador

Apache
Codificacin PHP, JS, CSS y HTML.
Acceso a datos.

Cliente Inteligente
(Ejecucin de cdigo)
Cdigo Fuente
SERVIDOR
Cdigo y/o Etiquetas

PHP, ASP

Etiquetas

Preprocesamiento
Intrpetre

CLIENTE
Aplicacin
Resultante

Navegador
(Firefox, IE,
etc)

Ventajas de la Web.
1. Ubicuidad. Se accede a la aplicacin desde cualquier equipo informtico
(ordenador personal, PDA...) conectado a Internet, con independencia de
su situacin geogrfica. As, es posible controlar en todo momento la
situacin y contenidos de la Web, tanto desde el propio local como desde
casa, o incluso desde el extranjero...
2. Multiusuario. A diferencia de las aplicaciones de escritorio, donde slo
el usuario frente al ordenador puede utilizar la aplicacin, en las
aplicaciones Web puede haber varios usuarios conectados al sistema
simultneamente, cada uno a travs de un ordenador distinto y en una
ubicacin geogrfica separados (empresas con varios almacenes, por
ejemplo), y todos utilizar la aplicacin con normalidad.

3. Independencia de software. Para acceder a la aplicacin slo es requisito


un navegador Web estndar, sin necesidad de instalar en cada equipo
ningn otro programa especfico. Debido a estos bajos requerimientos, el
software puede utilizarse incluso desde ordenadores obsoletos y poco
potentes.
4. Seguridad. Al albergarse en un servidor remoto, el funcionamiento de la
aplicacin y los valiosos datos que contiene son totalmente independientes
del ordenador utilizado para la gestin. As, la normal operacin de la
aplicacin es inmune a una avera de hardware, virus informticos, o
cualquier otro problema local. En caso de necesidad, basta con retomar la
conexin al servidor desde cualquier otro ordenador personal o porttil.

Multiplataforma e interoperabilidad. A diferencia de las aplicaciones


de escritorio, que slo pueden funcionar bajo el sistema para el que
fueron diseadas, las aplicaciones Web son multiplataforma por
diseo. Esto significa que podr conectar con el software desde
cualquier versin de Windows -presente o futura-, y desde otros
sistemas operativos como GNU/Linux, Solaris, Symbian (telfonos
mviles,)...

Puntos Comunes.
Programacin estructurada.
Programacin lineal.
Programacin no lineal.
Programacin Orientada a Objetos.

Arquitectura para el desarrollo de


Aplicaciones Web N-Capas.
La Arquitectura de Aplicaciones en n-capas se ha convertido en el
estndar para el software empresarial. Se caracteriza por la
descomposicin de las aplicaciones.
Proporciona una escalabilidad, capacidad de administracin y
utilizacin de recursos mejorados.
Cada capa es un grupo de componentes que realiza una funcin
especfica.
Se puede actualizar una capa sin recompilar otras capas.

Arquitectura de 3 capas

1.Capa de presentacin
2.Capa de negocios
3.Capa de datos

(1)

(3)
(2)

Capa de Presentacin
Formularios
Informes
Respuestas al usuario
Por regla general, La capa de la presentacin es una
interfaz grfica que muestra los datos a los usuarios.

Capa de Negocio
Reglas del negocios
Validaciones
Clculos
Flujos y procesos
La capa de la lgica de negocios es responsable de procesar los
datos recuperados y enviarlos a la capa de presentacin.

Capa de datos
Base de datos
Tablas
Procedimientos almacenados

Componentes de datos
La capa de datos almacena los datos de la aplicacin en un
almacn persistente, tal como una base de datos relacional o
archivos XML.

Arquitectura para el desarrollo de Aplicaciones


Web utilizando 3 Capas.
Cliente #1

Cliente #2

Cliente #3

Cliente #N

Presentacin

Negocio

Datos

Modelos de desarrollo de Aplicaciones Web.


1.

Desarrollo en cascada: Resultados visibles slo al final.

Es el enfoque metodolgico que ordena rigurosamente las etapas del proceso para el desarrollo
de software, de tal forma que el inicio de cada etapa debe esperar a la finalizacin de la etapa
anterior.
2.

Desarrollo en espiral: ms conveniente.

Las actividades de este modelo se conforman en una espiral, en la que cada bucle o iteracin
representa un conjunto de actividades. Las actividades no estn fijadas a ninguna prioridad.

Modelo Vista Controlador: conveniente y robusto.


3. Es un patrn o modelo de abstraccin de desarrollo de software
que separa los datos de una aplicacin, la interfaz de usuario, y la
lgica de negocio en tres componentes distintos.

Modelo - Vista - Controlador


Es un Patrn de Diseo donde el modelo
es el Sistema de Gestin de Base de Datos
y la Lgica de negocio, y el controlador es
el responsable de recibir los eventos de
entrada desde la vista.

Aclaracin.
No confundir la Arquitectura para el desarrollo de Aplicaciones Web
(orientado bsicamente a la estrategia de desarrollo) con el Patrn de
diseo MVC (ms centrado en la estructura del cdigo).

Ambiente de trabajo en el curso.


Servidor web(contiene Apache, con PHP y Mysql).

Netbeans como IDE de Programacin.

Programar como meta

Sin censuras lleva tiempo y esfuerzo.


Aprender a programar.

Cmo piensas que ser

Cmo ser en realidad

Recomendaciones para aprender a programar.


No tengas prisas.
Conocer fundamentos de la programacin.
Empezar por un lenguaje de programacin muy usado y conocido.
Resolver problemas sencillos.
Codificar todo lo que se estudia.
Hacer preguntas.
Ser perfeccionista.
Escribir y escribir cdigo.

Qu necesitas para programar Web en PHP


Tener dominio de los fundamentos de la Programacin.
Conocer cmo mnimo lenguajes como HTML, CSS, Javascript y por
ltimo PHP y MySql.
Codificar y preguntar siempre.
No detenerte ante los problemas.
Estudiar y usar las nuevas tecnologas.
Dominar las herramientas para la construccin de Aplicaciones Web
actuales(CMS, frameworks, ).

Temas en este curso


Maquetacin de sitios web utilizando HTML5 y CSS3. (1 sem)
Programacin del lado del cliente utilizando JavaScript nativo. (1 sem)
Programacin del lado del servidor utilizando PHP nativo.(2 sem)
Programacin Orientada a Objetos en PHP.(1 sem)
Modelacin y Gestin de Bases de Datos. (1 sem)
Desarrollo de Sistemas de Gestin utilizando PHP.(1 sem)
8 encuentros, entre 3 y 5 horas cada uno.
4-8 horas de trabajo individual por cada hora de clase.
Una evaluacin Final con un trabajo integrador.

El Profesor

MSc. Carlos M. Delgado Riveros


Ingeniero Informtico y Mster en Matemtica Aplicada.
Profesor en Universidades de Cuba, Panam y Ecuador.
Desarrollo de Proyectos Web en pases como Cuba, Panam, Blgica y
Ecuador.
Utiliza Herramientas como Joomla, Wordpress, Moodle, OJS, adems de
frameworks como Yii, Codeigniter o Symphony.
Email: cmdelgador@Gmail.com
Telef: 0998724637

Prximo encuentro
Maquetacin de sitios web utilizando HTML5 y CSS3.
Estudio independiente. Literatura especializada.

Curso de Programacin Web


en PHP
Gracias
Fundacin Metropolitana del Ecuador
Profesor: MSc. Carlos M. Delgado
cmdelgador@gmail.com

You might also like