Espera por favor...

Páginas web dinámicas
Introducción

Creación de una página web dinámica

Las páginas estáticas contienen información que no cambia hasta que el diseñador o programador la modifica manualmente. En los primeros días de internet, simplemente subirse al carro de internet era importante para las corporaciones. Y no era tan importante lo que las empresas publicaban en la web, siempre y cuando tuvieran una presencia en la red donde los clientes pudieran obtener información básica sobre la entidad y sus productos.

Las páginas web estáticas, compuestas únicamente de HTML y CSS, como se ha visto previamente se realizan fácilmente. Pero una de las grandes limitaciones de las páginas web estáticas es el esfuerzo que se requiere para actualizarlas. Cambiar un solo elemento en una página web estática requiere reconstruir y recargar en el servidor toda la página, o a veces incluso un grupo de páginas web.

Este proceso es demasiado engorroso para una organización que con frecuencia necesita publicar información en tiempo real, tal como eventos. Además, durante este proceso, un desarrollador puede cambiar accidentalmente otros artículos en la página, arruinando seriamente la información de la web, o incluso el diseño completo del sitio.

Las páginas web dinámicas permiten cambiar fácilmente su contenido en tiempo real sin siquiera tocar el código de la página. Sin hacer manualmente cualquier cambio en la página en sí, la información en la página puede variar. Esto hace posible mantener el contenido de la página actualizado para que lo que un el visitante ve allí pueda ser actualizado o substituido en un día, una hora, o un minuto. El diseño central de la página web puede seguir siendo el mismo, pero los datos presentan cambios constantes.

Para crear con éxito una página web dinámica, se debe conocer un método para insertar automáticamente datos en tiempo real en el código HTML que se envía al navegador del cliente. Aquí es donde entran en juego los lenguajes de script, que permiten insertar código de programa dentro de una web, que genera dinámicamente HTML que el navegador del cliente.

Lado del cliente

Como el código de programación está insertado en la página web, en alguna parte se debe ejecutar dicho código para producir el HTML dinámico para el nuevo contenido. Hay dos lugares donde se puede ejecutar el código de programa insertado:

- En el equipo del cliente, después de que el navegador web descarga la página web. Esto se conoce como programación del lado del cliente.

- En el servidor web antes de que se envíe la página. Esto se conoce como programación del lado del servidor.

A continuación se analiza cómo cada uno de estos tipos de programación difiere en la creación de contenido dinámico para un sitio en internet.
Programación del lado del cliente

En la programación del lado del cliente, se inserta el código del programa dentro del código HTML que el servidor envía al navegador del cliente. El navegador debe poder detectar el código del programa incorporado y ejecutarlo, ya sea dentro del navegador o como un programa separado fuera del navegador. La figura muestra este proceso.

Lado del cliente

JavaScript

Actualmente el lenguaje de programación más popular del lado del cliente es JavaScript, es un lenguaje de script que se inserta dentro del código HTML en la página web. Se ejecuta dentro del navegador del cliente y puede utilizar funciones del navegador a las que normalmente no se puede acceder desde HTML estándar. El código JavaScript se usa comúnmente para producir mensajes emergentes y cuadros de diálogo con los que las personas interactúan cuando ven la página. Estos son elementos que el código HTML no puede generar.

Como se muestra en la figura previa, toda la página web con el código JavaScript insertado se descarga al navegador del cliente. El navegador del cliente detecta el código JavaScript incorporado y lo ejecuta en consecuencia. Hace esto mientras también procesa las etiquetas HTML dentro del documento y aplica estilos CSS definidos. La desventaja de JavaScript es que, como se ejecuta en el navegador del cliente, se está a merced de cómo un navegador web interpreta el código. Aunque el lenguaje HTML comenzó como un estándar, JavaScript era algo diferente. En los primeros días de JavaScript, diferentes navegadores implementaron distintas características de JavaScript usando varios métodos. No era raro ejecutar una página web que funcionaba bien para un tipo de navegador, pero no funcionaba en otro, todo a causa de las inconsistencias de JavaScript.

Eventualmente, se trabajó para estandarizar JavaScript. El lenguaje fue retomado por la organización de estándares Ecma International, que creó el estándar ECMAScript, que es en lo que ahora se basa JavaScript. A medida que evolucionó el estándar ECMAScript, cada vez más desarrolladores de navegadores comenzaron a ver los beneficios de utilizar un lenguaje de programación estándar del lado del cliente. Actualmente, la octava versión de la norma, llamada ECMAScript 2017, se ha finalizado y se ha implementado en la mayoría de los navegadores.

Páginas web dinámicas
Programación del lado del cliente

jQuery

JavaScript es popular, pero una de sus desventajas es que puede ser algo complicado de programar. Con tantas características diferentes incorporadas por tantos desarrolladores, hoy en día un programa JavaScript puede convertirse rápidamente en un gran esfuerzo de codificación.

Para ayudar a resolver este problema, un grupo de desarrolladores se unieron para crear un conjunto de bibliotecas para facilitar la programación del lado del cliente con JavaScript. Así nació jQuery.

El software jQuery no es un lenguaje de programación separado; en cambio, es un conjunto de bibliotecas de código JavaScript. Las bibliotecas son funciones autónomas de JavaScript a las que se puede hacer referencia en la programación de JavaScript para realizar funciones comunes, como encontrar una ubicación en una página web para mostrar texto o recuperar un valor ingresado en un campo de formulario HTML.

En lugar de tener que escribir líneas y líneas de código JavaScript, solo es necesario hacer referencia a una o dos funciones de jQuery para que hagan el trabajo por el programador. Esto ahorra mucho tiempo, además de ser un excelente recurso para implementar funciones avanzadas que nunca se hubieran podido codificar usando solo JavaScript.

Páginas web dinámicas
Programación del lado del servidor

Programación del lado del servidor

El otro aspecto de la programación web es la programación del lado del servidor. Los lenguajes de programación del lado del servidor resuelven el problema de diferentes intérpretes de código de cliente ejecutando el código en el servidor. En la programación del servidor, el servidor web interpreta el código de programación insertado antes de enviar la página web al navegador del cliente.

Luego, el servidor toma cualquier código HTML que el código de programación genere y lo inserta directamente en la página web antes de enviarlo al cliente. El servidor hace todo el trabajo ejecutando el código de script, por lo que tiene la garantía de que cada página web se ejecutará correctamente. La siguiente figura ilustra este proceso.

Lado cliente


A diferencia de la programación del lado del cliente, hay muchos lenguajes de programación populares del lado del servidor que están en uso actualmente, cada uno con su propio conjunto de pros y contras. Seguidamente se echa un vistazo a algunos de los lenguajes de programación más populares.

Páginas web dinámicas
Programación del lado del servidor

CGI

Uno de los primeros intentos de soporte de programación del lado del servidor fue la "interfaz de puerto de enlace común" (CGI) del servidor web Apache. CGI proporcionaba una interfaz entre el servidor web y el sistema operativo del servidor subyacente, que a menudo estaba basado en Unix. Esto permitía a los programadores incorporar código de script comúnmente utilizado en la plataforma Unix para generar HTML de forma dinámica.

Dos de los lenguajes de script más comunes utilizados en el mundo de Unix y, por lo tanto, comúnmente utilizados en la programación CGI son Perl y Python.

Aunque la programación CGI se hizo popular en la primera época de la web, no pasó mucho tiempo antes de que fuera explotada en aspectos de seguridad. Era demasiado fácil para un administrador novato aplicar los permisos incorrectos a las secuencias de comandos CGI, lo que permite a un atacante ingenioso obtener acceso privilegiado al servidor. Se tuvieron que desarrollar otros métodos de procesamiento del código de programación del lado del servidor.

Páginas web dinámicas
Programación del lado del servidor

Java

Uno de los primeros intentos de un lenguaje de programación controlado del lado del servidor fue Java. Aunque el lenguaje de programación Java se hizo popular como un lenguaje para crear aplicaciones independientes que se podían ejecutar en cualquier plataforma informática, también se puede ejecutar como un lenguaje de programación del lado del servidor en la web. Cuando se utiliza de esta manera, se denomina "servidor de páginas de Java" (JSP).

El lenguaje JSP requiere que se tenga un compilador Java en el servidor web. El servidor web detecta el código de Java en el código HTML y luego lo envía al compilador de Java para su procesamiento. Cualquier salida de Java el programa la envía al navegador del cliente como parte del documento HTML. La plataforma JSP más común es el servidor Apache Tomcat.

Páginas web dinámicas
Programación del lado del servidor

Familia Microsoft ASP.NET

La primera entrada de Microsoft en el mundo de la programación del lado del servidor (Active Server (ASP)) tenía un aspecto similar al de JSP. Los programas ASP incorporaron código de script ASP dentro del código HTML estándar y requirieron que se incorporara un servidor ASP con el servidor web estándar de Microsoft Internet Information Services (IIS) para procesar el código.

Sin embargo, los desarrolladores de Microsoft determinaron que no era necesario mantener un lenguaje de programación separado para la programación web del lado del servidor, por lo que combinaron la programación del lado del servidor y los entornos de programación de escritorio de Windows en una sola tecnología.

Con el advenimiento de la familia .NET de lenguajes de programación, Microsoft lanzó ASP.NET para el entorno web, como una actualización del antiguo entorno ASP. Con ASP.NET, se puede insertar cualquier tipo de código de programación de Microsoft .NET dentro de los documentos HTML para producir contenido dinámico. La .NETfamily ​​incluye Visual Basic .NET, C#, J# e incluso Delphi.NET. Esto permite aprovechar el mismo código que usa para crear aplicaciones de escritorio de Windows, para crear páginas web dinámicas. A menudo se pueden usar las mismas funciones de Windows, como botones, barras deslizantes y barras de desplazamiento, dentro de las aplicaciones web que ven en las aplicaciones de Windows.

Páginas web dinámicas
Programación del lado del servidor

JavaScript

Sí, lo leíste bien. El mismo lenguaje JavaScript que es popular en el mundo de la programación del lado del cliente ahora está comenzando a avanzar como un lenguaje de programación del lado del servidor. La biblioteca Node.js permite interconectar código JavaScript dentro de páginas web HTML para procesarlas en el servidor.

La ventaja de usar Node.js es que solo se necesita aprender un lenguaje para la programación tanto del lado del cliente como del lado del servidor. Aunque todavía es relativamente nuevo el lenguaje Node.js es cada vez más popular.

Páginas web dinámicas
Programación del lado del servidor

PHP

Lo que comenzó como un simple ejercicio de ajuste de scripts CGI se convirtió en un nuevo lenguaje de programación del lado del servidor que tomó al mundo por sorpresa. Rasmus Lerdorf escribió el lenguaje "Programación de Página Personal" (PHP) como una forma de mejorar el funcionamiento de los scripts CGI. Después de un poco de aliento y ayuda, PHP se transformó en su propio lenguaje de programación, y un nuevo nombre, PHP: preprocesador de hipertexto (utiliza el acrónimo dentro de su nombre, que se llama acrónimo recursivo).

Los desarrolladores de lenguaje PHP admiten abiertamente que tomaron prestadas muchas características de otros lenguajes populares, como Perl, Python, C e incluso scripts de shell de Unix. Sin embargo, PHP fue desarrollado específicamente para la programación del lado del servidor, y tiene muchas características integradas que no están disponibles en otros lenguajes de script. No se necesita luchar con configuraciones o características extrañas para que PHP funcione en un entorno web. Ha madurado en un completo catálogo de características avanzadas que cubren todo, desde el acceso a la base de datos hasta los gráficos de dibujo en una página web.

Debido a la dedicación de los desarrolladores de PHP para crear un lenguaje de programación de primera clase en el servidor, y a que es un software libre de código abierto, PHP se convirtió rápidamente en el preferido del mundo de internet. Muchas empresas de alojamiento web incluyen PHP como parte de sus paquetes de alojamiento básico.

Páginas web dinámicas
Programación del lado del servidor

Combinación de la programación del lado del cliente y del lado del servidor

La programación del lado del cliente y del lado del servidor tienen pros y contras. En lugar de tratar de elegir un método para crear páginas web dinámicas, se pueden utilizar ambos al mismo tiempo.

Se puede insertar fácilmente el código de programación del lado del cliente y del lado del servidor en la misma página web para ejecutar en el servidor, como se muestra a continuación.

Lado cliente y servidor

Un uso común para JavaScript y PHP es la validación de datos. Cuando se proporciona un formulario HTML para que lo llenen los visitantes de un sitio web, se debe tener cuidado de que llenen el tipo correcto de datos para cada campo. Con la programación del lado del servidor, no se puede validar los datos hasta que el visitante del sitio completa y envía el formulario al servidor. Si un visitante del sitio web se salta accidentalmente el llenado de un solo campo y el formulario entero debe completarse nuevamente, puede ser una experiencia frustrante.

Para resolver este problema, se puede insertar código JavaScript en el formulario para verificar a medida que el visitante ingrese los datos en el formulario. Si alguno de los campos del formulario está vacío cuando se hace clic en el botón Enviar, el código JavaScript puede bloquear el envío del formulario y señalar el campo vacío. Luego, cuando todos los datos se completan y el formulario se envía correctamente, el código PHP en el servidor pueden procesar los datos para garantizar que sean del tipo y formato de datos correctos.

Páginas web dinámicas
Gestión de contenido

Almacenamiento de contenido

La última pieza del rompecabezas de la aplicación web dinámica es el contenido real. Con las páginas web estáticas, el contenido ya está integrado en el código de la página web. Para cambiar la información en una página web estática, se debe recodificar la página. Desafortunadamente, la mayoría de las veces, cuando se actualiza una página web, se pierde la versión anterior.

Con aplicaciones web dinámicas, el contenido proviene de algún lugar fuera de la página web. ¿Pero donde? El lugar más común es una base de datos. Las bases de datos son una forma fácil de almacenar y recuperar datos. Son más rápidas que el almacenamiento de datos con archivos estándar y proporcionan un nivel de seguridad para proteger sus datos. Al almacenar contenido en una base de datos, también se puede archivar y referenciar fácilmente el contenido anterior y reemplazarlo con contenido nuevo según sea necesario.

Al igual que el mundo de la programación del lado del servidor, el entorno de las bases de datos tiene muchas opciones diferentes de software. Estos son algunos de los más populares:

Oracle: Oracle ha establecido el estándar de hecho para las bases de datos. Se encuentra en muchos entornos comerciales de alto perfil. Aunque Oracle es muy rápido y admite muchas funciones, también puede ser algo costoso.

Microsoft SQL Server: la entrada de Microsoft en el mundo de los servidores de bases de datos, con SQL Server, está orientado a entornos de bases de datos de gama alta. A menudo se encuentra en entornos que utilizan servidores de Microsoft Windows.

PostgreSQL: el servidor de base de datos PostgreSQL es un proyecto de código abierto que intenta implementar muchas de las funciones avanzadas que se encuentran en las bases de datos comerciales. En sus inicios, PostgreSQL tenía una reputación de ser algo lento, pero ha hecho grandes mejoras. Desafortunadamente, las viejas reputaciones son difíciles de superar, y PostgreSQL aún tiene problemas para superarlas.

MySQL: el servidor de base de datos MySQL es otro proyecto de código abierto. A diferencia de PostgreSQL, no intenta hacer coincidir todas las características de los paquetes comerciales. En cambio, se enfoca en la velocidad. MySQL tiene una reputación de ser muy rápido en inserciones y consultas de datos simples, perfecto para el mundo de las aplicaciones web de ritmo rápido. Principalmente debido a su velocidad, el servidor de base de datos MySQL se ha convertido en una herramienta popular para almacenar datos en aplicaciones web dinámicas. También ayuda que, dado que es un proyecto de código abierto, las empresas de alojamiento web pueden instalarlo de forma gratuita, lo que lo convierte en una combinación perfecta con el lenguaje de programación de servidor PHP para aplicaciones web dinámicas.

Búsquedas en UMU