Download UD4 - Webs dinamicas

Document related concepts
no text concepts found
Transcript
Tecnologías de la Información y la
Comunicación II
Bloque 2: Diseño de páginas Web dinámicas
UD 4: Webs dinámicas: Funcionamiento y lenguajes
Objetivos:
Conocer qué es una página Web dinámica a nivel conceptual.
Comprender el funcionamiento de una Web dinámica.
Identificar la utilidad de los lenguajes Web más utilizados.
Conocer la historia del lenguaje PHP.
Profesor: Gabriel Merin Cubero
Correo: [email protected]
ÍNDICE DE CONTENIDOS
1.
2.
Introducción ......................................................................................................... 3
Webs dinámicas ................................................................................................... 3
2.1.
Concepto....................................................................................................... 3
2.2.
Funcionamiento ........................................................................................... 4
2.3.
Lenguajes de programación Web................................................................. 4
3. El lenguaje PHP .................................................................................................. 5
3.1.
Introducción ................................................................................................. 5
3.2.
Historia ........................................................................................................ 5
3.3.
¿Por qué utilizar PHP?................................................................................. 6
UD4 – Webs dinámicas: Funcionamiento y lenguajes
1.
Introducción
Este tema tiene como principal objetivo introducir el concepto de página Web
dinámica, su funcionamiento y los lenguajes de programación que se usan para su
confección.
Además, introduciremos el lenguaje de programación PHP que será el que se verá
en el próximo tema y que será, justamente, el que utilizaremos nosotros para el
desarrollo de nuestras páginas Web dinámicas.
2.
Webs dinámicas
2.1.
Concepto
A día de hoy creo que todos sabemos que las páginas Web están desarrolladas,
fundamentalmente, en un lenguaje llamado HTML (Hyper Text Markup Language
= Lenguaje de Etiquetas de HiperTexto).
HTML, más que un leguaje de programación, es un lenguaje de “diseño de
documentos” en base a un conjunto de etiquetas. Se dice que es de HiperTexto
porque permite incluir mucho más que texto: imágenes, sonidos, etc.
Cuando un desarrollador diseña una página Web, acaba generando un conjunto de
ficheros HTML y multimedia que son subidos a un servidor Web para poder se
accedidos desde Internet.
Si un usuario quiere visualizar una página Web, éste abre un navegador de
Internet (Explorer, Firefox, Safari, Chrome, etc.) y escribe su URL. El navegador se
descarga el fichero HTML (en un directorio temporal) así como todos los ficheros
multimedia referenciados. Una vez descargados, es el navegador el que interpreta
el código HTML y muestra el documento al usuario.
Como se puede observar, este proceso es estático. Es decir, independientemente del
usuario que consulte la Web, la información que va a visualizar va a ser la misma.
Sin embargo, hoy en día las Webs son dinámicas. En otras palabras, su contenido
varía en función del día (un periódico), del usuario que acceda (una red social) o
incluso de la información que esté contenida dentro de una base de datos (un foro).
Para que esto ocurra, dicho documento HTML debe generarse “al vuelo” (desde el
servidor).
Debido a que HTML no es un lenguaje de programación propiamente dicho (ya se
ha dicho que está orientado al diseño), es necesario utilizar otro lenguaje que, en
base a una serie de condiciones, genere dicho fichero HTML.
Luego cuando hablamos de páginas Webs dinámicas nos estaremos refiriendo a
páginas HTML cuyo contenido es generado en el instante en el que el usuario las
solicita.
Nota: En el mundo Web se suele hacer una distinción entre el Diseñador Web y el
Desarrollador Web. El primero es el encargado de describir el aspecto gráfico,
3/6
UD4 – Webs dinámicas: Funcionamiento y lenguajes
mientras que el segundo se encarga de programar la lógica para que el contenido se
genere dinámicamente (accediendo a una base de datos, leyendo un fichero, etc.).
2.2.
Funcionamiento
Independientemente del lenguaje utilizado, el funcionamiento es el siguiente:
3 – PROCESA index.php
Servidor
Web
www.acme.es
2 – GET /docs/index.php
4 – DEVOLVER salida
Intérprete
PHP
5 – ENVIAR salida
Navegador
6 – MOSTAR salida
1 – http://www.acme.es/docs/index.php
Usuario
1. El usuario introduce la URL de la página Web que desea visualizar.
2. El navegador solicita al servidor Web www.acme.es el fichero
/docs/index.php.
3. El servidor Web busca el fichero index.php dentro de la carpeta /docs/. Se da
cuenta que se le está solicitando una página Web dinámica escrita en PHP
y, en lugar de enviárselo al navegador del usuario, se lo manda al intérprete
PHP para que lo procese.
4. Cuando el intérprete finaliza, devuelve la salida del programa al servidor
Web.
5. El servidor Web envía la salida anterior al navegador del usuario.
6. El Navegador Web procesa la salida y muestra la página Web al usuario.
2.3.
Lenguajes de programación Web
Debido a que HTML es un lenguaje muy simple y limitado, se han desarrollado (o
adaptado) otros lenguajes de programación Web. Pese a haber muchos (Flash,
Java, PHP, XML, etc.), cada un objetivo concreto.
Para personalizar y facilitar el mantenimiento de diseños Web (es necesario
renovar la apariencia), podemos utilizar el lenguaje XML (el cuál permite crear
nuestras propias etiquetas y su traducción), o las hojas de estilo en cascada CSS
(Cascade Style Sheets. Permiten especificar los colores, tamaño de las fuentes,
formato, etc. en base a un fichero de configuración).
4/6
UD4 – Webs dinámicas: Funcionamiento y lenguajes
Si lo que deseamos es añadir interacción a nuestra Web (como si fuera una
aplicación normal) podemos hacer uso de lenguajes como JavaScript1, AJAX
(Asynchronous JavaScript And Xml. Combinación entre JavaScript, XML que
permite, además una conexión asíncrona con el servidor para la carga/envío de
información), Java (en forma de applets u objetos Java incrustados) o Flash.
Sin embargo, todos los lenguajes anteriores tienen una cosa en común: son
ejecutados desde el navegador Web del usuario. De ahí que una misma
página pueda verse de distinta manera en función del navegador utilizado.
Cuando lo que se desea es generar ficheros (HTML, XML, JavaScrip, etc.) cuyo
contenido se genere en el momento en que el usuario accede a la Web, tenemos que
ir a morir a lenguajes que se ejecuten en el servidor Web. Existen uno cuantos
lenguajes para este propósito: ASP (Active Server web Pages, de Microsoft), JSP
(Java Server Pages distinto al de los applets), PHP (Hypertext Preprocessor), Perl,
Ruby, Python, etc.
Para que estos lenguajes funcionen, es necesario instalar un intérprete en el
servidor y enlazar el Servidor Web con dicho intérprete. De esta manera, las
páginas consideradas como “dinámicas” al ser solicitadas por el usuario son antes
mandadas al intérprete. La salida del intérprete es lo que luego se envía como
respuesta el usuario.
3.
El lenguaje PHP
3.1.
Introducción
A día de hoy, PHP es el acrónimo recursivo de PHP Hypertext Preprocessor. Es un
lenguaje de código abierto, de alto nivel (se aleja del código máquina del
procesador) e interpretado (su código se evalúa en tiempo de ejecución).
Está especialmente pensado para desarrollos Web y tiene una sintaxis muy
parecida a C, Java y Perl, siendo muy fácil su aprendizaje. Además, su principal
objetivo es permitir a los desarrolladores Web crear páginas dinámicas de una
manera rápida y cómoda.
No obstante, PHP también permite crear aplicaciones normales con una interfaz de
usuario, utilizando para ello la extensión PHP-Qt o PHP-GTK (librerías gráficas).
Es más, también permite su uso a través de la línea de comandos usando PHP CLI
(Command Line Interface).
Además, el intérprete PHP puede ser instalado en la mayoría de los servidores Web
y en casi todos los sistemas operativos de manera gratuita.
3.2.
Historia
PHP fue originalmente diseñado en Perl por el desarrollador Rasmus Lerdorf en el
año 1994 para incluir, en su página Web, un registro del tráfico y para
mostrar/guardar ciertos datos. Sin embargo, debido a su éxito, en junio de 1995 fue
publicado como Personal Home Page Tools.
JavaScript es un lenguaje completamente distinto a Java. Es más, JavaScript fue
desarrollado por Netscape (predecesor del Firefox) y Java por la empresa Sun Microsystems.
1
5/6
UD4 – Webs dinámicas: Funcionamiento y lenguajes
Sin embargo, no fue hasta junio de 1998 cuando apareció la versión PHP3. Para su
desarrollo, dos programadores israelíes (Zeev Suraski y Andi Gutmans)
reescribieron el analizador sintáctico (parser) y se cambió el nombre a la forma
actual.
En mayo de 2000 apareció la versión PHP4, con importantes mejoras tanto en
funcionalidad (se añadió soporte a la programación orientada a objetos, mayores
facilidades para la conexión a bases de datos, etc.) como en rendimiento (hacía uso
del motor Zend Engine 1).
En julio de 2004 fue lanzado PHP5, utilizando la nueva versión del motor Zend
Engine 2. Las mejoras incorporadas fueron varias, pero la principal fue el mejor
soporte a la programación orientada a objetos.
Hay que tener en cuenta que para cuando salió la versión 5, PHP era ya uno de los
lenguajes más utilizados a nivel mundial para el desarrollo dinámico de Webs. Eso
significaba que había miles de páginas Web (foros, blogs, páginas personales, etc.)
descritas en PHP4. El problema es que las versiones 4 y 5 son parcialmente
compatibles. Una página escrita en PHP4 funcionará en PHP5 mientras no se
haga uso de la POO, en caso contrario será necesario reescribir el código para que
se ajuste a las reglas de PHP5.
Debido a que en aquel entonces muchos de los foros y blogs usaban la POO de
PHP4, se tuvo que continuar dando soporte a la versión 4 (que es la que estaba
instalada en la mayoría de servidores, incluso a día de hoy). En julio de 2007 se
anunció la suspensión del soporte para la versión 4, aunque se han ido sacando
versiones con correcciones de seguridad hasta casi finales del 2008.
A día de hoy se está trabajando en la versión PHP6 la cual hará uso del motor
Zend Engine 3, aunque no tiene fecha prevista de lanzamiento.
3.3.
¿Por qué utilizar PHP?
Ya se han enumerado unos cuantos lenguajes de programación Web que nos sirven
para el desarrollo dinámico de Web. Ahora bien ¿por qué utilizar PHP? las razones
fundamentales de su éxito son varias:
1. Es gratuito.
2. Es rápido y cómodo.
3. Es multiplataforma y multiservidor.
4. Su sintaxis es muy parecida a dos lenguajes más conocidos por la
comunidad de desarrolladores: C y Java.
Pese a todo, nunca viene mal conocer otros lenguajes ya que pueden adecuarse más
a nuestros gustos o necesidades.
6/6