Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Parte 1:
Introduccin a la web
Debemos empezar aprendiendo qu es la web y las caractersticas de este medio de
comunicacin. Aprenderemos tambin qu es HTML, el lenguaje hipertexto con el
que estn construidas todas las pginas web. Asimismo, introduciremos un concepto
bsico para poder clasificar los distintos lenguajes disponibles, el de pginas
dinmicas.
Correo electrnico
IRC o chat
FTP
El propio web
Parte 3:
Lenguajes web de cliente
Son los lenguajes que basan su procesamiento en el cliente web, es
decir que se ejecutan en el navegador del usuario. Vemos un listado
de los lenguajes de cliente disponibles para los desarrolladores y sus
caractersticas.
3.1.- Qu es Javascript
Una introduccin meramente conceptual al potente lenguaje de script
del lado del cliente.
Javascript es un lenguaje de programacin utilizado para
crear pequeos programitas encargados de realizar acciones
dentro del mbito de una pgina web.
Se trata de un lenguaje de programacin del lado del cliente, porque
es el navegador el que soporta la carga de procesamiento. Gracias a
su compatibilidad con la mayora de los navegadores modernos, es el
lenguaje de programacin del lado del cliente ms utilizado.
Con Javascript podemos crear efectos especiales en las pginas y
definir interactividades con el usuario. El navegador del cliente es el
encargado de interpretar las instrucciones Javascript y ejecutarlas
para realizar estos efectos e interactividades, de modo que el mayor
recurso, y tal vez el nico, con que cuenta este lenguaje es el propio
navegador.
Javascript es el siguiente paso, despus del HTML, que puede dar un
programador de la web que decida mejorar sus pginas y la potencia
de sus proyectos. Es un lenguaje de programacin bastante sencillo y
pensado para hacer las cosas con rapidez, a veces con ligereza.
Incluso las personas que no tengan una experiencia previa en la
programacin podrn aprender este lenguaje con facilidad y utilizarlo
en toda su potencia con slo un poco de prctica.
Entre las acciones tpicas que se pueden realizar en Javascript
tenemos dos vertientes. Por un lado los efectos especiales sobre
pginas web, para crear contenidos dinmicos y elementos de la
pgina que tengan movimiento, cambien de color o cualquier otro
dinamismo. Por el otro, javascript nos permite ejecutar instrucciones
como respuesta a las acciones del usuario, con lo que podemos crear
pginas interactivas con programas como calculadoras, agendas, o
tablas de clculo.
Javascript es un lenguaje con muchas posibilidades, permite la
programacin de pequeos scripts, pero tambin de programas ms
grandes, orientados a objetos, con funciones, estructuras de datos
complejas, etc. Adems, Javascript pone a disposicin del
programador todos los elementos que forman la pgina web, para
que ste pueda acceder a ellos y modificarlos dinmicamente.
Con Javascript el programador, que se convierte en el verdadero
dueo y controlador de cada cosa que ocurre en la pgina cuando la
est visualizando el cliente.
3.3.- Qu es CSS
Comentamos brevemente que son las hojas de estilo en cascada y
explicamos una serie de efectos rpidos e interesantes que se pueden
hacer con ellas. CSS, es una tecnologa que nos permite crear pginas
web de una manera ms exacta.
Gracias a las CSS somos mucho ms dueos de los resultados finales
de la pgina, pudiendo hacer muchas cosas que no se poda hacer
utilizando solamente HTML, como incluir mrgenes, tipos de letra,
fondos, colores... CSS son las siglas de Cascading Style Sheets, en
espaol Hojas de estilo en Cascada. En este reportaje vamos a ver
algunos de los efectos que se pueden crear con las CSS sin necesidad
de conocer la tecnologa entera.
Parte 4:
Lenguajes web de servidor
Son los lenguajes que se procesan en el lado del servidor y que
generan la pgina antes de enviarla al cliente.
Veremos una lista de los lenguajes de servidor ms populares.
4.1.- Qu es CGI
Una breve introduccin a CGI, con apuntes sobre la metodologa de trabajo
y desventajas frente a otras tecnologas del servidor.
Es el sistema ms antiguo que existe para la programacin de las pginas
dinmicas de servidor. Actualmente se encuentra un poco desfasado por
diversas razones entre las que destaca la dificultad con la que se desarrollan
los programas y la pesada carga que supone para el servidor que los
ejecuta.
Los CGI se escriben habitualmente en el lenguaje Perl, sin embargo, otros
lenguajes como C, C++ o Visual Basic pueden ser tambin empleados para
construirlos.
4.2.- Qu es Perl
Documento introductorio al lenguaje Perl.
Es un lenguaje de programacin muy utilizado para construir aplicaciones
CGI para el web. Perl es un acrnimo de Practical Extracting and Reporting
Languaje, que viene a indicar que se trata de un lenguaje de programacin
muy prctico para extraer informacin de archivos de texto y generar
informes a partir del contendido de los ficheros.
Es un lenguaje libre de uso, eso quiere decir que es gratuito. Antes estaba
muy asociado a la plataforma Unx, pero en la actualidad est disponible en
otros sistemas operativos como Windows.
Perl es un lenguaje de programacin interpretado, al igual que muchos otros
lenguajes de Internet como Javascript o ASP. Esto quiere decir que el cdigo
de los scripts en Perl no se compila sino que cada vez que se quiere ejecutar
se lee el cdigo y se pone en marcha interpretando lo que hay escrito.
Adems es extensible a partir de otros lenguajes, ya que desde Perl
podremos hacer llamadas a subprogramas escritos en otros lenguajes.
Tambin desde otros lenguajes podremos ejecutar cdigo Perl.
Perl est inspirado a partir de lenguajes como C, sh, awk y sed (algunos
provenientes de los sistemas Unx), pero est enfocado a ser ms prctico y
fcil que estos ltimos. Es por ello que un programador que haya trabajado
con el lenguaje C y los otros tendr menos problemas en entenderlo y
utilizarlo rpidamente. Una diferencia fundamental de Perl con respecto a
los otros lenguajes es que no limita el tamao de los datos con los que
trabaja, el lmite lo pone la memoria que en ese momento se encuentre
disponible.
Si queremos trabajar con Perl ser necesario tener instalado el interprete
del lenguaje. A partir de ese momento podemos ejecutar CGIs en nuestros
servidores web. El proceso para conseguirlo puede variar de unos servidores
a otros, pero se suelen colocar en un directorio especial del servidor llamado
cgi-bin donde hemos colocado los correspondientes permisos CGI. Adems,
los archivos con el cdigo tambin debern tener permiso de ejecucin.
4.3.- Qu es ASP
Es el lenguaje de scripting del lado del servidor creado por Microsoft.
ASP (Active Server Pages) es la tecnologa desarrollada por
Microsoft para la creacin de pginas dinmicas del servidor. ASP
se escribe en la misma pgina web, utilizando el lenguaje Visual
Basic Script o Jscript (Javascript de Microsoft).
Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web,
justo antes de que se enve la pgina a travs de Internet al cliente. Las
pginas que se ejecutan en el servidor pueden realizar accesos a bases de
datos, conexiones en red, y otras tareas para crear la pgina final que ver
el cliente. El cliente solamente recibe una pgina con el cdigo HTML
resultante de la ejecucin de la pgina ASP. Como la pgina resultante
contiene nicamente cdigo HTML, es compatible con todos los
navegadores.
El tipo de servidores que emplean este lenguaje son, evidentemente, todos
aquellos que funcionan con sistema Windows NT, aunque tambin se puede
utilizar en un PC con windows 98 si instalamos un servidor denominado
Personal Web Server. Incluso en sistemas Linux podemos utilizar las ASP si
intalamos un componente denominado Chilisoft, aunque parece claro que
ser mejor trabajar sobre el servidor web para el que est pensado: Internet
Information Server.
Con las ASP podemos realizar muchos tipos de aplicaciones distintas. Nos
permite acceso a bases de datos, al sistema de archivos del servidor y en
general a todos los recursos que tenga el propio servidor. Tambin tenemos
la posibilidad de comprar componentes ActiveX fabricados por distintas
empresas de desarrollo de software que sirven para realizar mltiples usos,
como el envio de correo, generar grficas dinmicamente, y un largo etc.
Actualmente se ha presentado ya la segunda versin de ASP, el ASP.NET,
que comprende algunas mejoras en cuanto a posibilidades del lenguaje y
rapidez con la que funciona. ASP.NET tiene algunas diferencias en cuanto a
sintaxis con el ASP, de modo que se ha de tratar de distinta manera uno de
otro.
4.4.- Qu es PHP
Es un lenguaje para programar scripts del lado del servidor, que se
incrustan dentro del cdigo HTML. Este lenguaje es gratuito y
multiplataforma.
PHP es el acrnimo de Hipertext Preprocesor. Es un lenguaje de
programacin del lado del servidor gratuito e independiente de plataforma,
rpido, con una gran librera de funciones y mucha documentacin.
Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web,
justo antes de que se enve la pgina a travs de Internet al cliente. Las
pginas que se ejecutan en el servidor pueden realizar accesos a bases de
datos, conexiones en red, y otras tareas para crear la pgina final que ver
el cliente. El cliente solamente recibe una pgina con el cdigo HTML
resultante de la ejecucin de la PHP. Como la pgina resultante contiene
nicamente cdigo HTML, es compatible con todos los navegadores.
4.5.- Qu es JSP
La tecnologa Java para la creacin de pginas web con programacin en el
servidor.
JSP es un acrnimo de Java Server Pages, que en castellano vendra a decir
algo como Pginas de Servidor Java. Es, pues, una tecnologa orientada a
crear pginas web con programacin en Java.
Con JSP podemos crear aplicaciones web que se ejecuten en variados
servidores web, de mltiples plataformas, ya que Java es en esencia un
lenguaje multiplataforma. Las pginas JSP estn compuestas de cdigo
HTML/XML mezclado con etiquetas especiales para programar scripts de
servidor en sintaxis Java. Por tanto, las JSP podremos escribirlas con nuestro
editor HTML/XML habitual.
Parte 5: XML
Es un lenguaje que tiene a su alrededor distintas tecnologas para cubrir un
gran abanico de posibilidades.
Veremos una introduccin al lenguaje y el por qu de su importancia en el
momento actual. Adems, daremos referencias para que las personas
puedan obtener ms informacin.
XML es una tecnologa en realidad muy sencilla que tiene a su alrededor
otras tecnologas que la complementan y la hacen mucho ms grande y con
unas posibilidades enormes y bsicas para la sociedad de la informacin.
Vamos a ver a lo largo de varios captulos una introduccin al mundo XML,
es decir, al lenguaje as como a las tecnologas que trabajan con l, sus
usos, ventajas y modos de llevar a cabo las tareas.
XML, con todas las tecnologas relacionadas, representa una manera distinta
de hacer las cosas, ms avanzada, cuya principal novedad consiste en
permitir compartir los datos con los que se trabaja a todos los niveles, por
todas las aplicaciones y soportes. As pues, el XML juega un papel
importantsimo en este mundo actual, que tiende a la globalizacin y la
compatibilidad entre los sistemas, ya que es la tecnologa que permitir
compartir la informacin de una manera segura, fiable, fcil. Adems, XML
permite al programador y los soportes dedicar sus esfuerzos a las tareas
importantes cuando trabaja con los datos, ya que algunas tareas tediosas
como la validacin de estos o el recorrido de las estructuras corre a cargo
del lenguaje y est especificado por el estndar, de modo que el
programador no tiene que preocuparse por ello.
Vemos que XML no est slo, sino que hay un mundo de tecnologas
alrededor de l, de posibilidades, maneras ms fciles e interesantes de
trabajar con los datos y, en definitiva, un avance a la hora de tratar la
informacin, que es en realidad el objetivo de la informtica en general.
XML, o mejor dicho, el mundo XML no es un lenguaje, sino varios lenguajes,
no es una sintaxis, sino varias y no es una manera totalmente nueva de
trabajar, sino una manera ms refinada que permitir que todas las
anteriores se puedan comunicar entre si sin problemas, ya que los datos
cobran sentido.
SOAP y REST
Por su parte REST es simple. REST no quiere dar soluciones para todo y por lo
tanto no pagamos con una demasiada complejidad una potencia que quiz no
vamos a necesitar.
Uniform interface
En una API REST la idea de servicio como tal desaparece. Lo que tenemos
son recursos, accesibles por identificadores (URIs). Sobre esos recursos
podemos realizar acciones, generalmente diferenciadas a travs de verbos
HTTP distintos.
As, en un servicio web clsico (SOAP) tendramos un servicio llamado
BeerService que tendra un mtodo llamado GetAll que me devolvera todas las
cervezas. La idea, independientemente de la tecnologa usada para consumir el
servicio web, es que se llama a un mtodo (GetAll) de un servicio remoto
(BeerService). Del mismo modo para obtener una cerveza en concreto
llamaramos al mtodo GetById() pasndole el id de la cerveza. De ah que se
diga que estn orientados a RPC (Remote Procedure Call Llamada a mtodo
remoto).
Para obtener datos de una cerveza, habr otro recurso (cerveza) con una URI
asociada. Adems, entre los recursos hay relaciones: est claro que una
cerveza forma parte de la Coleccin de cervezas as que parece lgico que a
partir de la coleccin entera (/Beers) pueda acceder a uno de sus elementos
con una URI tipo /Beers/123, siendo "123" el ID de la cerveza.
Volvamos a nuestro servicio SOAP: para dar de alta una cerveza llamaramos a
un mtodo "AddBeer" de nuestro "BeerService", y le pasaramos la cerveza a
aadir. En cambio, en nuestra API REST aadir una cerveza consiste en usar
la URI de dicha cerveza, (p. ej. /Beers/456 si estamos aadiendo la cerveza
con ID 456) usando POST o PUT como verbo HTTP y colocando los datos de
la cerveza en el cuerpo de la peticin. La URI para acceder a la cerveza con ID
456 es siempre /Beers/456 y es el verbo HTTP (GET, POST, PUT, DELETE,...)
el que indica cual es la operacin que deseamos hacer con esa cerveza.
Una vez que sabemos exactamente las caractersticas de REST nos podremos
plantear cmo es una aplicacin basada en REST. Realmente podra haber
muchas respuestas, puesto que podemos usar APIs para hacer multitud de
sitios web. Por ejemplo, podramos usar el API REST de Twitter para crear un
servicio basada en esa red o el API de Youtube para crear un sitio web que
muestra vdeos de distintas maneras. Pero no es eso a lo que me refiero en
este artculo.
Nota:Para aclararnos, decir que comnmente hasta ahora siempre tenamos un cliente (navegador)
y un servidor. El cliente haca una solicitud de una URL y reciba una pgina HTML, con sus estilos,
etc. Esa pgina tena un HTML que renderizado en el navegador nos produca la presentacin que
desebamos. Esa situacin nos ha valido desde mucho tiempo atrs y sigue sirviendo hoy en da,
pero ahora existen otras soluciones que nos aportan otras posibilidades. Tienes que mirar todo esto
bajo el prisma del momento tecnolgico actual. El objetivo sigue siendo hacer aplicaciones, sin
embargo, en muchos casos no vamos a pensar solo en hacer aplicaciones web, sino tambin apps
para mviles o cualquier otro tipo de sistema o dispositivo.
Qu libreras JS?
Realmente tampoco estamos obligados a usar ninguna. Lo que estar claro es
que si ests produciendo una web en el cliente usars Javascript, pero la
librera que tengas para facilitarte las cosas es indiferente.