La programación en la web

Hace algunos años, allá por los noventa, para crear una página web bastaba con tener algunos conocimientos de HTML, un editor de texto, un cliente FTP, un lugar donde alojarla y un contenido que publicar. El HTML era sencillo, no hacía falta aprender demasiadas cosas, pero a cambio, los resultados eran más bien pobres y difíciles de mantener. Había pocas opciones para hacer la página atractiva y aún menos de hacerla interactiva. El código HTML se mezclaba con el contenido. El mantenimiento consistía en editar el archivo HTML y volverlo a subir al servidor. La interacción a menudo se limitaba a ofrecer un formulario de contacto que  abría el cliente de correo electrónico del ordenador para enviar un mensaje. En ese momento, todo era nuevo y fantástico y a cada mejora que llegaba se abría un mundo de posibilidades ante el desarrollador[1]. Un paso en favor de la interacción con el usuario fue conseguir que el formulario de contacto enviase el correo directamente sin necesidad de abrir ningún programa del usuario. Algunos sitios web ofrecían la posibilidad de usar un programa que se encargaba de la gestión de ese correo.

La web fue avanzando, el HTML fue cada vez más completo y, por qué no decirlo, más complejo, y la posibilidad de hacer programas que facilitasen la interacción con el usuario fue cada vez mayor. Pronto, en los formularios de contacto, se podía encontrar pequeños programas que se encargaban de comprobar que los datos que escribía el usuario se correspondían con lo que se le estaba pidiendo. No grandes cosas, pero sí comprobar que una dirección de correo electrónico tenía una @, que un teléfono solo contenía números o que un código postal eran exactamente cinco dígitos.

Hoy es raro encontrar a alguien que haga las páginas web a mano de manera directa, escribiendo conjuntamente código y contenido. Por una parte, los gestores de contenido ayudan a que tener una página web sea realmente sencillo. Así, una persona que desee crear su propia web tan solo tiene que ir a un servicio gratuito de gestión de contenidos (como WordPress o Blogger) y escribir allí lo que quiera, usando un campo de un formulario que aparenta ser un sencillo editor de textos. Por otra parte, en los grandes desarrollos, donde hay que escribir gran cantidad de líneas de código, hacerlo sin la ayuda de un buen editor y mezclando código y contenido es impensable.

Si bien una persona que quiera tener su propia página web como hobby puede usar gestores de contenidos gratuitos, una empresa, por pequeña que sea, no debería hacerlo. A poco que queramos mantener una imagen distintiva, vamos a tener que modificar la apariencia de la web para adaptarla a nuestras necesidades. Y aquí, cuando queremos adaptar un gestor de contenidos a nuestras necesidades es cuando empezamos a necesitar unos conceptos de programación.

Pero nos estamos avanzando. La programación en la web hace tiempo que es necesaria. Hace tan solo un par de párrafos explicábamos que, hace ya algunos años, había webs que ofrecían el servicio de envío de correos electrónicos a partir de un formulario web, de manera que la web no necesitaba abrir ninguna aplicación del usuario para poder hacerlo. Estos pequeños programas solían hacerse en Perl y eran un primer paso en la creación de webs más próximas a los usuarios.

Un paso adelante fue la incorporación de JavaScript a los navegadores. En un inicio, JavaScript se usaba para validar los datos introducidos en los formularios, tratar las cookies, abrir algunos enlaces en una ventana recortada y poca cosa más, pero tras la aparición de AJAX, JavaScript se convirtió en una pieza fundamental de la mayoría de aplicaciones web.

AJAX (Asynchronous JavaScript and XML) es una técnica de desarrollo web usada para crear aplicaciones interactivas. Parte de la aplicación se ejecuta en el cliente (el navegador) con JavaScript y parte en el servidor con diferentes lenguajes de programación. La comunicación entre el cliente y el servidor es asíncrona, lo que permite descargar los datos en un segundo plano para tenerlos disponibles cuando el cliente los necesite. Así, mientras el usuario lee la información que hay en la página, los datos que necesitará se van descargando de manera que, cuando los necesite, los tenga ya preparados y no tenga que esperar.

Una gran aplicación web que usó AJAX desde el principio fue Gmail. Su aparición fue un gran salto cualitativo en cuanto a correo web y el uso intensivo de AJAX hace que la experiencia del usuario sea muy buena. Hoy en día, prácticamente todas las aplicaciones web usan AJAX en mayor o menor medida, obtienen los datos de una base de datos que se encuentra en el servidor y los usan de modo adecuado en el cliente.

En el cliente, el lenguaje de programación más usado es JavaScript, pero no es el único. Java, ActionScript (Flash) y últimamente Processing son lenguajes de programación que pueden usarse en el navegador. La gran diferencia entre JavaScript y el resto es que, mientras que JavaScript se ejecuta de manera directa en el navegador, los demás necesitan de un plugin, que debe descargarse aparte, para poderse ejecutar.

En cuanto al servidor, la variedad es mucho mayor. PHP, Java, Ruby, ASP.NET[2], Perl o Python son algunos de los lenguajes de programación que pueden usarse para crear aplicaciones web. De todos ellos, PHP es posiblemente el más popular por varios motivos, entre otros, porque permite incrustar código dentro de páginas HTML, es parecido a otros lenguajes de programación estructurada como C y Perl y se puede usar en la mayoría de los servidores web. La importancia de PHP en la web se puede ver teniendo en cuenta que sitios como la Wikipedia, Facebook o WordPress usan PHP en su desarrollo.

Para acabar, volvamos un momento a la empresa que desea tener una página web. Aunque pueda usar un sistema de gestión de contenidos gratuito (como WordPress, Drupal o Joomla!), necesitará adaptar ese sistema a sus necesidades y adecuar las plantillas a la imagen de la empresa. Para esa tarea, necesitará contar con los servicios de, entre otros, un programador web que domine el lenguaje de programación con el que está hecho el sistema, además de JavaScript.


[1] En la práctica, eso sigue pasando. Por ejemplo, cada novedad de CSS implantada en los navegadores representa una nueva posibilidad para los desarrolladores para hacer cosas nuevas.

[2] ASP.NET no es un lenguaje de programación, es más bien un framework (marco de trabajo) para aplicaciones web de Microsoft que permite escribir programas para el servidor en varios lenguajes como Visual Basic .NET, C#, Delphi, C++, Cobol y otros. ASP.NET proporciona componentes ya desarrollados para facilitar el desarrollo de aplicaciones web.

Publicado por Carlos Casado Martínez

Licenciado en informática por la Universitat Politècnica de Catalunya, es profesor del Grado de Multimedia y del Máster de Aplicaciones Multimedia de la UOC.