Qué es DHTML o HTML Dinámico

  • Por
Explica rápidamente lo que es HTML Dinámico y diferencia entre DHTML del lado del cliente y del servidor.
A medida que vamos avanzando en la programación de páginas web nos vamos fijando nuevos objetivos para crear cada día webs más excitantes. Siguiendo este camino, llega un momento que el lenguaje HTML se nos queda corto y tenemos que servirnos de alguna tecnología superior, que nos permita realizar esos desarrollos más complejos y dinámicos.

Imaginaros por un momento que tuvieseis entre manos un gran proyecto, un proyecto que supusiese la creación masiva de páginas, como puede ser un periódico, donde cada día hay que cambiar los contenidos por completo, o una enciclopedia online, con miles de páginas y referencias, por poner dos ejemplos. Si utilizásemos únicamente HTML necesitaríamos un regimiento de maquetadores web para poder llevar a cabo el trabajo de crear tantas y tantas páginas y su actualización.

Así mismo, si quisiésemos desarrollar una aplicación en la web donde el usuario tuviese que interaccionar con la página, o una aplicación que ofreciese algún servicio, como un buscador o un gestor de correo a través de la web, también nos veríamos muy limitados con el HTML.

Además, también estamos muy limitados con el HTML a la hora de crear efectos en las páginas, animaciones que llamen un poco la atención del usuario y que permitan hacer que las páginas web sean más divertidas.

DHTML es lo que hace posible crear una páginas web que salven todas las limitaciones del HTML como las comentadas con anterioridad. Como vemos, el DHTML es muy amplio y engloba muchas técnicas que se pueden realizas con multitud de lenguajes de programación y programas distintos .

Vamos a hacer una clasificación de DHTML para acotar un poco sus radios de acción y para que el concepto se acote en áreas de la programación web que podemos ya conocer.

DHTML de cliente

Por un lado tenemos el DHTML que se desarrolla en el ámbito de una página web, cuando la página se está viendo en la pantalla de los usuarios , es decir, en los navegadores. En estos casos, para realizar cualquier tipo de efecto o interactividad en la página tenemos como recurso al navegador, por eso se llama de cliente.

La programación en el cliente sirve para muchas cosas, ejemplos de ello son efectos diversos en las páginas, sonidos, videos, menús interactivos, control y respuesta a las acciones de un usuario en la página, control sobre los formularios, etc. Para hacer muchas de estas cosas podemos utilizar diversos lenguajes de programación como Javascript y VBScript, o incluso podemos meter aquí programas como Flash.

No obstante está más cercana a la idea del DHTML el programar scripts dentro de la página con los lenguajes del lado del cliente. Javascript para todos los navegadores y VBScript para Internet Explorer. Estos lenguajes trabajan, como se ha dicho, integrados con el navegador y dependen del modelo y de la versión de éste.

Estos lenguajes no permiten el desarrollo de cualquier proyecto en Internet, ya que al ser ejecutados en el navegador del cliente, no tienen acceso a todos los recursos del sistema del usuario, para evitar agujeros de seguridad, ni a los recursos del servidor donde están alojadas las páginas. Esta limitación, añadida a la ya comentada de su dependencia del navegador, los hacen insuficientes para desarrollos avanzados, siendo más bien un complemento de programación que el núcleo de verdaderas aplicaciones en el web.

DHTML de servidor

Por otro lado, existen una serie de lenguajes que se basan en el servidor para ejecutar sus scripts, al igual que la programación del cliente se basa en el navegador. Cuando una página es solicitada por parte de un cliente, el servidor ejecuta los scripts y genera una página resultado, que envía al cliente. La página resultado contiene únicamente código HTML , por lo que puede ser interpretada por cualquier navegador sin lugar a errores, independientemente de su versión.

Esta independencia del navegador ya es una ventaja significativa con respecto a la programación en el cliente, pero lo es aun más que contamos con todos los recursos del servidor donde están alojadas las páginas. Estos recursos, como podrían ser gestores de bases de datos, servidores de correo o el propio sistema de archivos del servidor, son los que nos van ha permitir construir todo tipo de aplicaciones.

Como ventajas adicionales se puede destacar que el código de las páginas con los scripts nunca llega al cliente, recordamos que al navegador sólo le llega HTML, y esto implica que nuestros visitantes nunca van a poder acceder al corazón de las aplicaciones que hayamos desarrollado, es decir, a los scripts del lado del servidor.

Lenguajes del lado del servidor son ASP, desarrollado por Microsoft, PHP de código libre, JSP para programar en Java, o alguna otra interfaz como CGI, que se desarrolla en lenguajes como C o Perl.


Esquema del funcionamiento de las páginas con scripts del servidor

Para tratar en extensión el tema del DHTML tenemos un manual que ofrece mucha más información. Es el manual de páginas dinámicas.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

Hugo Diaz

12/12/2001
Creo que este articulo esta equivocado. DHTML es tecnologia pura del lado del cliente. Su nombre son las iniciales de Dinamic HTML. Se basa en el DOM. No se olviden que los scripts del lado del servidor pueden generar codigo que _no_ es HTML (por ej XML) y de hecho, este concepto existia antes del DHTML (cuando se estandarizo el DOM) por ej. el CGI

Aitor

31/10/2002
Totalmente de acuerdo con Hugo. DHTML "siempre" es del lado del cliente, nunca del servidor. Saludos.

Miguel Angel Alvarez

02/11/2002
Estoy de acuerdo con los comentarios que indican que DHTML es siempre del lado del cliente y no del servidor. Estoy de acuerdo, porque hay una corriente que así lo afirma y la conozco.

De todos modos, como se explica en el artículo, no es la única visión de DHTML la que vosotros conocéis y en ciertas corrientes también se incluyen en DHTML todo aquello que sirva para que una página sea dinámica, incluyendo los scripts del servidor.

Cada uno puede pensar lo que desee y es que el término provoca interpretaciones distintas.

pitiwiti

14/11/2002
Puede ser como tu dices pero creo que siendo un artículo para iniciarse es globalizar demasiado el concepto DHTML y puede crear una idea equivocada del concepto dinámico usado para Php CGI etc y el dinamismo del HTML dotar a las páginas de movimiento e interactividad. Es una opinión.

Humberto Villa

16/3/2003
Pues les dire a todos.. DHTML es del lado del cliente...............

jaime

03/9/2003
Diablos! Me confunden soy un principainte en esto y ahora no se quien tiene la razón.

Bertoni

19/9/2003
...sin mas rodeos: DHTML, es del lado des CLIENTE ;-)

Reyna Elisa Montes

02/6/2004
Yo considero que Dhtml abarca el desarrollo de aplicaciones interactivas tanto del lado del cliente, como del servidor. Es decir, el usuario puede obtener dinamismo al navegar (en el cliente) sobre una página web o puede obtener dinamismo al solicitar a través de un formulario (al servidor y este a una bases de datos) determinada información.

Ariel

19/8/2004
Obviamente es del lado del cliente..

Mauricio Rodríguez

04/10/2004
Bueno, si lo que hace el dhtml es dar dinamismo e interactividad y funcionalidad a las paginas, esta explicacion es acertada, pues tanto la tecnologia del servidor como la del cliente sirven para tal proposito.

Javi

15/11/2004
Creo que el problema que tenemos es que hemos confundio el DHTML con la generación dinámica de HTML. Lo primero se refiere a las historias éstas del Java Script, Flash, etc... las cuales se ejecutan en el navegador, por lo tanto en el cliente. Lo otro son la generación de webs dinámicamente. En este caso, se utiliza el servidor que, disponiendo generalmente de un esqueleto estático con parte de la página, es capaz de generar automáticamente el resto usando PHP, ASP o CGI. Así es como se crean, por ejemplo, los gestores de correo por web, tal y como explica arriba el autor, donde una parte es siempre la misma, diseñada por una persona; y donde otra parte es generada por el servidor según unas instrucciones precisas del programador (por ejemplo, el contenido de un mail, o la lista de mensajes del buzón de entrada; cosas éstas que varían con el tiempo).

Cristian

31/5/2005
Sorry pero mi opion es q el articulo es 100% valido ...

yohan

09/8/2005
como una gran programador de perros creo que no sirve para nada esta wea es terrible weona la caga

MARISOL

25/10/2005
LA VERDAD ES QUE YA ME ENREDARON SOY PRINCIPIANTE Y ME GUSTARIA SABER CUALES SON LAS CARACTERISTICAS PRINCIPALES DE DHTML

sindy

14/3/2006
se estan globalizando los conceptos, y no se da un concepto solido de lo que cada cosa es y como interactua, y si estoy de acuerdo DHTML siempre estara del lado del cliente el es su medio de desarrollo

Amarillo

16/3/2006
Para dar fin a la polémica les informo que DHTML es "HTML Dinámico", esto es: que permite al usuario interactuar "en línea" (on-line), y es una referencia clara al hecho de ser algo en tiempo presente; por lo tanto, si bien el servidor puede aportar cierto "dinamismo" a una interacción dada, el término DHTML es exclusivo del proceso que se da del lado cliente, aún cuando el aporte del servidor "no sea excluyente".

albert anthony

22/8/2006
Soy un principiante en esto pero se de que el DHTML tiene un lado de cliente y de servidor, obiamente se nota mas que tene un lado cliente xq en el navegador se le da mas alternativa al cliente, pero el lado de servidor se da principalmente en los formularios que estan en el hosting y es asi de que aunk no lo paresca el DHTML posee el lado servidor.

rosbby

08/9/2006
¨esta muy bien su informacion¨

javier isaac

04/10/2006
a mi forma de pensar , mi opinion es la siguiente, los comentarios anteriores pueden confundir alos demas lo sierto es que aunque se puede dicernir en cunato a conceptos final mente lo sierto es que la programición va de la mano con el cliente ovio uno depende del otro ,uesto que son escenciales para poder establecer una misma sintonia.
adios

anabel

30/10/2006
yo estoy aprendiendo a usarlo y no se si me puedas ayudar, mi problema es el siguiente:
tengo una pagina php en la que debo de desplegar un reporte y eso ya lo logre pero ahora me piden que le haga unos ajustes a ese reporte y que construya un html para poder insertar mas columnas y hacer los ajustes ese es mi problema que no se como generar un html dentro de la pagina php
haber si me entendiste
necesito urgentemente ayuda gracias

dalvin tavarez

12/7/2007
hugo y el otro pana lo k no entienden es k cuando por ejemplo se solicita una pagina php a un servidor el resultado es html para el cliente o navegador pero eso es dhtml por que el codigo no siempre es el mismo cambia aunque es por la interpretacion del servidor.

Armando Casas Castillo

29/1/2008
Gracias a ustedes muchas personas ahora, integran el mundo virtual, sus manuales son onjetivos y hacen fácil el aprendizaje de los lenguajes de la WEB, aunque hace falta un poco más de creatividad, pero el contenido es excelente

PERLA DIAZ

27/9/2008
ta muy completa la pagina eeee....
sigan asi.
jajajajajaja

Carolina Imwinkelried

12/11/2008
Recomiendo visitar Wikipedia (http://es.wikipedia.org/wiki/HTML_din%C3%A1mico) para aclarar el término DHTML.

DHTML es del lado del cliente, y no se deben confundir con las páginas web dinámicas (que son las que usan PHP, ASP, etc) que son del lado del servidor.

REYNALDO

21/8/2010
hola.......
HOLA SOY ESTUDIANTE DE INGENIRIA DE SISTEMAS Y TECNOLOGIAS WEB PUES DHTML ES TOTALMENTE DEL LADO DEL CLIENTE PORQUE PUEDE EJECUTARSE SIN LA NECESIDAD DE UN SERVIDOR Y EL USUARIO PUEDE APRECIAR LOS RESULTADOS.... DE LA MISMA MANERA QUE SI ESTUVIERA PROGRAMANDO EN HTML SOLO QUE DHTML PARA SER DINAMICO NECESITA DE LA COMBINACION DE JAVA SCRIPT... GRACIAS SALUDOS DESDE BOLIVIA....