Páginas estáticas vs. Páginas dinámicas
El surgimiento de HTML (HyperText Marckup Language) propició una importante evolución en el uso de Internet y produjo el surgimiento de un nuevo servicio de internet: la www (World Wide Web); a pesar de la bastante extendida creencia de que HTML es un lenguaje de programación la realidad es otra. Este no es lenguaje de programación sino, más bien, se trata de un lenguaje descriptivo que tiene como objeto dar formato al texto y las imágenes que se pretenden visualizar en el navegador.
A partir de este lenguaje, el diseñador web, es capaz de introducir enlaces, seleccionar el tamaño de las fuentes o intercalar imágenes, todo esto de una manera prefijada y en ningún caso inteligente. En efecto, el HTML no permite el realizar un simple cálculo matemático o crear una página de la nada a partir de una base de datos. A decir verdad, aunque muy útil a pequeña escala, resulta bastante limitado a la hora de concebir grandes sitios o portales y esta es la razón por la que, los sitios construidos utilizando únicamente este lenguaje, se les denomina comúnmente como “estáticos”.
Es esta deficiencia del HTML la que ha hecho necesario el empleo de otros lenguajes accesorios mucho más versátiles y de un aprendizaje relativamente más complicado, capaces de responder de manera inteligente a las demandas del navegador y que permiten la automatización de determinadas tareas tediosas e irremediables como pueden ser las actualizaciones, los pagos y otras transacciones bancarias en línea, entre muchas otras.
La creación de sitios utilizando lo que se ha dado en llamar “Tecnologías web”, permite, por ejemplo, recrear a partir de ciertos "scripts" un sinfín de páginas automatizadas y son los que dan origen a un nuevo concepto en la web llamados “páginas dinámicas”.
A pesar de que las páginas dinámicas puedan en un principio limitar a causa de su mayor complejidad con respecto al HTML, todas las ventajas que ofrecen compensan con creces ese esfuerzo inicial. No obstante, hay que ser conscientes del posible interés que pueda tener para el desarrollador el lanzarse en esta aventura de aprender un nuevo lenguaje y volver a rediseñar su propio siti.o
Si la página en la que se está pensando o que se quiere rediseñar es relativamente pequeña, no necesita estar al día continuamente sino que sus contenidos son perennes y no se tiene previsto el pagar por mantenimiento, el empleo de páginas dinámicas puede quedarse grande y resultar a todas luces improductivo y costoso.
Por el contrario, si el sitio es extenso y sus contenidos cambian rápidamente, interesa el automatizar en la medida de lo posible todas las tareas de tal forma que sea posible gestionar su administración de la manera más óptima, rápida y eficiente posible.
Lenguajes del lado del servidor y del lado del cliente
El navegador web (Internet explorer, FireFox, etc.) es una especie de aplicación capaz de interpretar las órdenes recibidas en forma de código HTML fundamentalmente y convertirlas en las páginas que son el resultado de dicha orden.
Cuando el usuario hace clic sobre un enlace hipertexto o hipermedia, en realidad lo que pasa es que se establece una petición de un archivo HTML residente en el servidor (un ordenador que se encuentra continuamente conectado a la red) el cual es enviado e interpretado por el navegador (el cliente).
Sin embargo, si la página solicitada no es un archivo HTML, el navegador es incapaz de interpretarla y lo único que es capaz de hacer es salvarla en forma de archivo. Es por ello que, si se quiere emplear lenguajes accesorios para realizar un sitio web, es absolutamente necesario que sea el propio servidor quien los ejecute e intérprete para luego enviarlos al cliente (navegador) en forma de archivo HTML totalmente legible por él.
De modo que, cuando se haga clic sobre un enlace a una página que contiene un script en un lenguaje comprensible únicamente por el servidor, lo que ocurre en realidad es que dicho script es ejecutado por el servidor y el resultado de esa ejecución da lugar a la generación de un archivo HTML que es enviado al cliente.
Así pues, es posible hablar de “lenguajes de lado servidor” que son aquellos lenguajes que son reconocidos, ejecutados e interpretados por el propio servidor y que se envían al cliente en un formato comprensible para él. Por otro lado, los “lenguajes de lado cliente” (entre los cuales no sólo se encuentra el HTML sino también el Java y el JavaScript los cuales son simplemente incluidos en el código HTML) son aquellos que pueden ser directamente "digeridos" por el navegador y no necesitan un pretratamiento.
Cada uno de estos tipos tiene por supuesto sus ventajas y sus inconvenientes. Así, por ejemplo, un lenguaje de lado cliente es totalmente independiente del servidor, lo cual permite que la página pueda ser albergada en cualquier sitio sin necesidad de pagar más ya que, por regla general, los servidores que aceptan páginas con scripts de lado servidor son en su mayoría de pago o sus prestaciones son muy limitadas. Inversamente, un lenguaje de lado servidor es independiente del cliente por lo que es mucho menos rígido respecto al cambio de un navegador a otro o respecto a las versiones del mismo. Por otra parte, los scripts son almacenados en el servidor quien los ejecuta y traduce a HTML por lo que permanecen ocultos para el cliente. Este hecho puede resultar a todas luces una forma legítima de proteger el trabajo intelectual realizado.
Existe una multitud de lenguajes concebidos o no para Internet. Cada uno de ellos explota más a fondo ciertas características que lo hacen más o menos útiles para desarrollar distintas aplicaciones.
La versatilidad de un lenguaje está íntimamente relacionada con su complejidad. Un lenguaje complicado en su aprendizaje permite en general el realizar un espectro de tareas más amplio y más profundamente. Es por ello que a la hora de elegir el lenguaje que se quiere utilizar se debe saber claramente qué es lo que se quiere hacer y si el lenguaje en cuestión lo permite o no.
En el dominio de la red, los lenguajes del lado del cliente están formados principalmente por: HTML, Java, JavaScript y las CSS; del lado servidor, los más ampliamente utilizados para el desarrollo de páginas dinámicas son el XML, JSP, ASP, CGI, PERL y PHP.
A continuación se describirá cada uno de estos lenguajes.
|