Introducción a los sitios dinámicos

logotipo de php y mysql

Dentro del interesante ecosistema de la web, es momento de empezar a hablar de lo que ocurre fuera de nuestra computadora y empezar a entender lo que pasa en el servidor.

Sitios estáticos vs sitios dinámicos.

Si solamente has desarrollado páginas web con las tecnologías del navegador (html, css y javascript), al pensar entre dinámico y estático seguramente pensarás que nos referimos a si cuenta con animaciones de algún tipo, creadas con javascript, flash o algún gif animado. Sin embargo, nos estamos refiriendo a la información.

Cuando no se usa programación del lado del servidor, el hacer un sitio web es más sencillo pero más limitado. Sin embargo, puede resultar más que suficiente para muchos proyectos. Este tipo de proyectos se conoce como estáticos porque no cambia la forma de presentarse la información.

Es muy fácil de medir sus dimensiones. ¿De cuantas páginas cuenta el sitio? Para tener la respuesta basta con contar el número de documentos .html. Pueden ser 3, 5 o 100, pero son los que yo voy creando.

En este tipo de sitios, el proceso entre el navegador y el servidor es muy sensible. Sucede de la siguiente manera.

  1. El usuario entra a un sitio (supongamos que se llama www.misupersitio.com). De la navegación que encuentra en la parte superior, le da click al botón de productos. El webmaster puso el código para que vaya al documento productos.html
  2. Al hacerse el click, el servidor recibe la orden y busca dentro de su catálogo de archivos al que se llama productos.html y se lo regresa tal cual al navegador.
  3. El navegador recibe el archivo, y dependiendo de lo que contenga realiza peticiones secundarias para traer imágenes o archivos de estilos. En unos segundos el documento queda representado completo en el browser.

Está dinámica es más que suficiente para muchos tipos de sitios, y realmente es muy fácil de hacer, ya sea escribiendo código o utilizando algún programa más gráfico, como Dreamweaver o Muse. Más que preocuparse por cosas tan elaboradas como programar, lo importante es tener tiempo y hacer mucha talacha.

Pero pronto estos sitios empezarán a tener algunos problemas. Algunos de ellos son:

  1. Créelo o no, pero un sitio de 100 a 200 páginas html se puede considerar pequeño. A través de mucho copiar y pegar, un buen manejo de estilos y algo de skills en herramientas gráficas para optimizar imágenes, se le puede dar mantenimiento. ¿Pero qué pasa si en lugar de 100 productos son 1000? ¿O 10,000? ¿O 1,000,000? Ahí le paro, pero realmente me quedo corto. Sitios como Amazon tienen una cantidad mayor de productos.
  2. Suponiendo que contemos con una horda de becarios y demás gente que pueda meterle mano al proyecto para actualizarlo a poco precio, otro problema que tendríamos sería la velocidad de actualización. Tomemos ahora de ejemplo un sitio de noticias. Si fuera un sitio estático, el webmaster tendría que estar pegado al teléfono para que en cuanto hubiera una noticia, tuviera que escribirla en su documento html, llenarla de etiquetas para darle formato y esperar a que llegaran las fotos vía email para ponerlas. En cuanto terminara la colocación de la noticia, recibiría otra llamada para cambiar el encabezado y poner una nota nueva.
  3. Aún en sitios pequeños, esta es una situación complicada. Cualquier modificación implica modificar por código al documento para después volverlo a subir al servidor. Todo es muy manual, y complicado para ambos lados. Para los diseñadores, resulta incómodo que el cliente les esté pidiendo cambios en fin de semana o en la noche, porque el cliente no sabe cómo cambiar el sitio. Para eso está pagando. Y para el cliente es molesto tener que depender de que otra persona esté disponible para hacer cambios sencillos de su página.




La solución a esto son las sitios dinámicos. En ellos la programación del servidor se encarga de automatizar muchas cosas. Como ejemplo:

  1. En lugar de pensar que cada producto es un documento diferente de html, se crean solamente un par de archivos en los cuales solamente cambia la información de ciertas regiones: el título, el contenido general, la fotografía. Dichos datos los recibe desde una base de datos.
  2. En lugar de que los cambios se hagan directamente en cada documento, se elaboran otros documentos desde donde se administra la información. Estos administradores están hechos para que de manera sencilla se suban los cambios, de manera que cualquier persona los pueda usar. Una herramienta así es la que estoy ocupando en este momento para crear este artículo: WordPress. Y no porque no me sienta capaz de hacer algo semejante por mi cuenta. Bueno, siendo honestos, no creo poder hacer algo tan robusto, pero sí podría realizar un módulo de administración coquetón que me permitiera manejar mi contenido. ¿Pero para qué inventar de nuevo la rueda? Además implicaría tiempo, el cual prefiero usar para otras cosas, como bloguear. Finalmente esa es la meta de los sitios dinámicos: optimizar tiempos.

Obviamente, los pasos que ocurren cuando se llama a un documento dinámico son más que con el estático.

  1. El usuario da click a un botón. Este llama a un documento con una extensión diferente. Para lo que vamos a ver, supongamos que se llama productos.php
  2. Al recibir la petición el servidor, detecta que es un documento dinámico y por lo tanto antes de regresarlo al navegador, debe realizar primero algunas tareas. Esto lo hace porque tiene instalada la tecnología correspondiente. Si el archivo es .php, en el servidor está instalado PHP. Si es .cfm, entonces debe tener instalado ColdFusion.
  3. En algunos casos el proceso solo depende de esa tecnología, como el traer la hora del servidor. Pero en muchos ocasiones, implica todavía hacer un proceso más con otra tecnología en el servidor, que es el gestor de la base de datos. A lo mejor realiza una consulta para traer a los 10 productos más recientes.
  4. Ya obteniendo la información de la base, debe formatearla de alguna manera que la entienda el navegador. Puede ser que le de formato como html, pero puede ser xml o json.
  5. La información regresa al navegador y se despliega. Aunque pueden realizarse más cosas, en muchas ocasiones el tiempo es igual o mejor que con una página dinámica.




Conclusión

El saber realizar un sitio dinámico, aunque sea de la forma más simple, va a permitirnos realizar proyectos más eficientes y variados. Al igual que con otras tecnologías, vale la pena empezar poco a poco, ya que ese pequeño conocimiento puede optimizar nuestro trabajo. Sin siquiera llegar a manejar base de datos, un par de conocimientos de php, por ejemplo, harán que nuestro sitio sea más eficiente.

 

Be the first to comment

Leave a Reply

Your email address will not be published.


*