La programació a la web

Fa uns anys, cap a la dècada dels noranta, per a crear una pàgina web n’hi havia prou de tenir alguns coneixements d’HTML, un editor de text, un client FTP, un lloc per a allotjar la pàgina i un contingut per publicar. L’HTML era senzill, no feia falta aprendre gaires coses, però, en canvi, els resultats eren més aviat pobres i difícils de mantenir. Hi havia poques opcions de fer la pàgina atractiva i encara menys de fer-la interactiva. El codi HTML es barrejava amb el contingut. El manteniment consistia a editar l’arxiu HTML i tornar-lo a pujar al servidor. Sovint la interacció es limitava a oferir un formulari de contacte que obria el client de correu electrònic de l’ordinador per enviar un missatge. Llavors tot era nou i fantàstic i per cada millora que arribava s’obria un món de possibilitats davant el desenvolupador.[1] Un pas en favor de la interacció amb l’usuari va ser aconseguir que el formulari de contacte enviés el correu directament, sense haver d’obrir cap programa de l’usuari. Hi havia llocs web que oferien la possibilitat d’usar un programa que s’encarregava de la gestió d’aquest correu.

La web va anar avançant, HTML va ser cada vegada més complet i, per què no s’ha de dir, més complex, i la possibilitat de fer programes que facilitessin la interacció amb l’usuari va ser cada vegada més gran. Aviat, en els formularis de contacte es van poder trobar petits programes que s’encarregaven de comprovar que les dades que escrivia l’usuari es corresponien amb el que se li demanava. No grans coses, però sí comprovar que una adreça de correu electrònic tenia una arrova (@), que un telèfon només contenia nombres o que un codi postal eren exactament cinc dígits.

Avui és estrany trobar algú que faci les pàgines web a mà directament, escrivint alhora codi i contingut. D’una banda, els gestors de contingut ajuden a fer que tenir una pàgina web sigui ben senzill. Així, una persona que vulgui crear la seva pròpia web solament ha d’anar a un servei gratuït de gestió de continguts (com WordPress o Blogger) i escriure-hi el que vulgui, usant un camp d’un formulari que fa l’efecte de ser un senzill editor de textos. D’altra banda, en els grans desenvolupaments, en què cal escriure una gran quantitat de línies de codi, és impensable fer-ho sense l’ajuda d’un bon editor i barrejant codi i contingut.

Si bé una persona que vulgui tenir la seva pròpia pàgina web com a passatemps pot usar gestors de continguts gratuïts, una empresa, per petita que sigui, no ho hauria de fer. Per poc que vulguem mantenir una imatge distintiva, hem de modificar l’aparença de la web per adaptar-la a les nostres necessitats. I aquí, quan volem adaptar un gestor de continguts a les nostres necessitats, és quan comencem a necessitar uns conceptes de programació.

Ens estem avançant, però. Fa temps que no cal la programació a la web. Fa un parell de paràgrafs explicàvem que, ja fa uns quants anys, hi havia webs que oferien el servei d’enviar correus electrònics a partir d’un formulari web, de manera que la web no havia d’obrir cap aplicació de l’usuari per poder-ho fer. Aquests petits programes se solien fer en Perl i eren un primer pas en la creació de webs més properes als usuaris.

Un pas endavant va ser la incorporació de JavaScript als navegadors. Al principi JavaScript s’usava per a validar les dades introduïdes en els formularis, tractar les galetes (cookies), obrir alguns enllaços en una finestra “retallada” i poca cosa més, però després de l’aparició d’AJAX, JavaScript es va convertir en una peça fonamental de la majoria d’aplicacions web.

AJAX (asynchronous JavaScript and XML) és una tècnica de desenvolupament web usada per a crear aplicacions interactives. Una part de l’aplicació s’executa en el client (el navegador) amb JavaScript i una altra part en el servidor amb diferents llenguatges de programació. La comunicació entre el client i el servidor és asíncrona, cosa que permet baixar les dades en segon pla perquè el client les tingui disponibles quan les necessiti. Així, mentre l’usuari llegeix la informació que hi ha a la pàgina, les dades que necessitarà es van baixant de manera que quan les necessiti les tingui preparades i no s’hagi d’esperar.

Una gran aplicació web que va usar AJAX des del principi va ser Gmail. La seva aparició va ser un gran salt qualitatiu quant a correu web, i l’ús intensiu que fa d’AJAX fa que l’experiència de l’usuari sigui molt bona. Avui dia gairebé totes les aplicacions web usen AJAX en major o menor grau, obtenen les dades d’una base de dades que és al servidor i les usen adequadament en el client.

En el client, el llenguatge de programació més usat és JavaScript, però no és l’únic. Java, ActionScript (Flash) i darrerament Processing són llenguatges de programació que es poden usar en el navegador. La gran diferència entre JavaScript i els altres és que JavaScript s’executa directament en el navegador, mentre que els altres necessiten un connector (plug-in), que s’ha de baixar a part, per a poder-se executar.

Quant al servidor, la varietat és molt més gran. PHP, Java, Ruby, ASP.NET[2], Perl, Python són alguns dels llenguatges de programació que es poden usar per a crear aplicacions web. De tots plegats, segurament el més popular és PHP perquè, entre altres motius, permet incrustar codi dins de pàgines HTML, s’assembla a altres llenguatges de programació estructurada com C i Perl i es pot usar en la majoria dels servidors web. La importància de PHP a la web es pot veure tenint en compte que llocs com Wikipedia, Facebook o WordPress usen PHP en el seu desenvolupament.

Per acabar, tornem un moment a l’empresa que vol tenir una pàgina web. Encara que pugui usar un sistema de gestió de continguts gratuït (com WordPress, Drupal o Joomla!), haurà d’adaptar aquest sistema a les seves necessitats i adequar les plantilles a la imatge de l’empresa. Per a aquesta tasca li caldrà disposar dels serveis, entre d’altres, d’un programador web que domini el llenguatge de programació amb què està fet el sistema, a més de JavaScript.


[1]. A la pràctica, això encara passa. Per exemple, cada novetat de CSS implantada en els navegadors representa una nova possibilitat per als desenvolupadors per a fer noves coses.

[2] ASP.NET no és un llenguatge de programació, sinó més aviat un entorn de treball (framework) per a aplicacions web de Microsoft que permet escriure programes per al servidor en diversos llenguatges com Visual Basic .NET, C#, Delphi, C++ o Cobol. ASP.NET proporciona components desenvolupats per facilitar el desenvolupament d’aplicacions web.

Publicat per Carlos Casado Martínez

Llicenciat en informàtica per la Universitat Politècnica de Catalunya, és professor del Grau de Multimèdia i del Màster d'Aplicacions Multimèdia de la UOC.