manual que es cada tecnologia

61
Tu mejor ayuda para aprender a hacer webs www.desarrolloweb.com Qué es cada tecnología Autores del manual Este manual ha sido realizado por los siguientes colaboradores de DesarrolloWeb.com: Miguel Angel Alvarez Director de DesarrolloWeb.com http://www.desarrolloweb.com (30 capítulos) Juliana Monteiro Lazaro Directora de CriarWeb.com http://www.criarweb.com (1 capítulo) Rubén Alvarez Redactor de DesarrolloWeb.com http://www.desarrolloweb.com (1 capítulo) Mario Matías Sebely (1 capítulo) José Antonio González Seco http://www.josanguapo.com/ (2 capítulos) David Masip (1 capítulo) Guillermo Aedo Contreras (3 capítulos) Eduardo Manchón http://www.alzado.org/ (1 capítulo) Luciano Salvino (1 capítulo) Luis Villa http://www.alzado.org (1 capítulo) Serviweb Diseño web Murcia http://www.serviweb.es/ (1 capítulo) Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización. 1

Upload: ing-pipe-leal

Post on 05-Jul-2015

453 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Qué es cada tecnología

Autores del manual

Este manual ha sido realizado por los siguientes colaboradores de DesarrolloWeb.com: Miguel Angel AlvarezDirector de DesarrolloWeb.comhttp://www.desarrolloweb.com (30 capítulos)

Juliana Monteiro LazaroDirectora de CriarWeb.comhttp://www.criarweb.com (1 capítulo)

Rubén AlvarezRedactor de DesarrolloWeb.comhttp://www.desarrolloweb.com (1 capítulo)

Mario Matías Sebely (1 capítulo)

José Antonio González Secohttp://www.josanguapo.com/ (2 capítulos)

David Masip (1 capítulo)

Guillermo Aedo Contreras (3 capítulos)

Eduardo Manchónhttp://www.alzado.org/ (1 capítulo)

Luciano Salvino (1 capítulo)

Luis Villahttp://www.alzado.org (1 capítulo)

ServiwebDiseño web Murciahttp://www.serviweb.es/ (1 capítulo)

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

1

Page 2: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Qué es HTML

HTML es el lenguaje con el que se definen las páginas web. Básicamente se trata de un conjunto de etiquetas que sirven para definir la forma en la que presentar el texto y otros elementos de la página.

El HTML se creó en un principio con objetivos divulgativos. No se pensó que la web llegara a ser un área de ocio con carácter multimedia, de modo que, el HTML se creó sin dar respuesta a todos los posibles usos que se le iba a dar y a todos los colectivos de gente que lo utilizarían en un futuro. Sin embargo, pese a esta deficiente planificación, si que se han ido incorporando modificaciones con el tiempo, estos son los estándares del HTML. Numerosos estándares se han presentado ya. El HTML 4.01 es el último estándar a febrero de 2001.

El HTML es un lenguaje de programación muy fácil de aprender, lo que permite que cualquier persona, aunque no haya programado en la vida pueda enfrentarse a la tarea de crear una web. HTML es fácil y pronto podremos dominar el lenguaje. Más adelante se conseguirán los resultados profesionales gracias a nuestras capacidades para el diseño y nuestra vena artista.

Una vez conocemos el concepto de HTML os vamos a adelantar algunas cosas más. Este lenguaje se escribe en un documento de texto, por eso necesitamos un editor de textos para escribir una página web. Así pues, el archivo donde está contenido el código HTML es un archivo de texto, con una peculiaridad, que tiene extensión .html o .htm (es indiferente cuál utilizar). De modo que cuando programemos en HTML lo haremos con un editor de textos, lo más sencillo posible y guardaremos nuestros trabajos con extensión .html, por ejemplo mipagina.html

Por adelantar un poco cómo se utiliza el HTML os diremos que el lenguaje consta de etiquetas que tienen esta forma <B> o <P>. Cada etiqueta significa una cosa, por ejemplo <B> significa que se escriba en negrita (bold) o <P> significa un párrafo, <A> es un enlace, etc. Casi todas las etiquetas tienen su correspondiente etiqueta de cierre, que indica que a partir de ese punto no debe de afectar la etiqueta. Por ejemplo </B> se utiliza para indicar que se deje de escribir en negrita. Así que el HTML no es más que una serie de etiquetas que se utilizan para definir la forma o estilo que queremos aplicar a nuestro documento. <B>Esto está en negrita</B>.

Para aprender HTML en profundidad tenemos un manual en DesarrolloWeb.com. Además se pueden consultar los enlaces a distintos manuales que tenemos en nuestro buscador en la sección de HTML.

Si lo que deseamos es tener una idea global de lo que es la publicación en Internet y los pasos a seguir para colocar nuestras páginas en la web lo más adecuado será consultar el manual de Publicar en Internet.

Artículo por Miguel Angel Alvarez

Qué es DHTML o HTML Dinámico

A medida que vamos avanzando en la programación de páginas web nos vamos fijando nuevos

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

2

Page 3: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

objetivos para crear cada día webs más excitantes. Siguiendo este camino, llega un momento que el lenguaje HTML se nos queda corto y tenemos que servirnos de alguna tecnología superior, que nos permita realizar esos desarrollos más complejos y dinámicos.

Imaginaros por un momento que tuvieseis entre manos un gran proyecto, un proyecto que supusiese la creación masiva de páginas, como puede ser un periódico, donde cada día hay que cambiar los contenidos por completo, o una enciclopedia online, con miles de páginas y referencias, por poner dos ejemplos. Si utilizásemos únicamente HTML necesitaríamos un regimiento de maquetadores web para poder llevar a cabo el trabajo de crear tantas y tantas páginas y su actualización.

Así mismo, si quisiésemos desarrollar una aplicación en la web donde el usuario tuviese que interaccionar con la página, o una aplicación que ofreciese algún servicio, como un buscador o un gestor de correo a través de la web, también nos veríamos muy limitados con el HTML.

Además, también estamos muy limitados con el HTML a la hora de crear efectos en las páginas, animaciones que llamen un poco la atención del usuario y que permitan hacer que las páginas web sean más divertidas.

DHTML es lo que hace posible crear una páginas web que salven todas las limitaciones del HTML como las comentadas con anterioridad. Como vemos, el DHTML es muy amplio y engloba muchas técnicas que se pueden realizas con multitud de lenguajes de programación y programas distintos .

Vamos a hacer una clasificación de DHTML para acotar un poco sus radios de acción y para que el concepto se acote en áreas de la programación web que podemos ya conocer.

DHTML de cliente

Por un lado tenemos el DHTML que se desarrolla en el ámbito de una página web, cuando la página se está viendo en la pantalla de los usuarios , es decir, en los navegadores. En estos casos, para realizar cualquier tipo de efecto o interactividad en la página tenemos como recurso al navegador, por eso se llama de cliente.

La programación en el cliente sirve para muchas cosas, ejemplos de ello son efectos diversos en las páginas, sonidos, videos, menús interactivos, control y respuesta a las acciones de un usuario en la página, control sobre los formularios, etc. Para hacer muchas de estas cosas podemos utilizar diversos lenguajes de programación como Javascript y VBScript, o incluso podemos meter aquí programas como Flash.

No obstante está más cercana a la idea del DHTML el programar scripts dentro de la página con los lenguajes del lado del cliente. Javascript para todos los navegadores y VBScript para Internet Explorer. Estos lenguajes trabajan, como se ha dicho, integrados con el navegador y dependen del modelo y de la versión de éste.

Estos lenguajes no permiten el desarrollo de cualquier proyecto en Internet, ya que al ser ejecutados en el navegador del cliente, no tienen acceso a todos los recursos del sistema del usuario, para evitar agujeros de seguridad, ni a los recursos del servidor donde están alojadas las páginas. Esta limitación, añadida a la ya comentada de su dependencia del navegador, los hacen insuficientes para desarrollos avanzados, siendo más bien un complemento de programación que el núcleo de verdaderas aplicaciones en el web.

DHTML de servidor

Por otro lado, existen una serie de lenguajes que se basan en el servidor para ejecutar sus scripts, al igual que la programación del cliente se basa en el navegador. Cuando una página es solicitada por parte de un cliente, el servidor ejecuta los scripts y genera

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

3

Page 4: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

una página resultado, que envía al cliente. La página resultado contiene únicamente código HTML , por lo que puede ser interpretada por cualquier navegador sin lugar a errores, independientemente de su versión.

Esta independencia del navegador ya es una ventaja significativa con respecto a la programación en el cliente, pero lo es aun más que contamos con todos los recursos del servidor donde están alojadas las páginas. Estos recursos, como podrían ser gestores de bases de datos, servidores de correo o el propio sistema de archivos del servidor, son los que nos van ha permitir construir todo tipo de aplicaciones.

Como ventajas adicionales se puede destacar que el código de las páginas con los scripts nunca llega al cliente, recordamos que al navegador sólo le llega HTML, y esto implica que nuestros visitantes nunca van a poder acceder al corazón de las aplicaciones que hayamos desarrollado, es decir, a los scripts del lado del servidor.

Lenguajes del lado del servidor son ASP, desarrollado por Microsoft, PHP de código libre, JSP para programar en Java, o alguna otra interfaz como CGI, que se desarrolla en lenguajes como C o Perl.

Esquema del funcionamiento de las páginas con scripts del servidor

Para tratar en extensión el tema del DHTML tenemos un manual que ofrece mucha más información. Es el manual de páginas dinámicas.

Artículo por Miguel Angel Alvarez

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

4

Page 5: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Qué es CSS

CSS, es una tecnología que nos permite crear páginas web de una manera más exacta. Gracias a las CSS somos mucho más dueños de los resultados finales de la página, pudiendo hacer muchas cosas que no se podía hacer utilizando solamente HTML, como incluir márgenes, tipos de letra, fondos, colores...

CSS son las siglas de Cascading Style Sheets, en español 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 tecnología entera.

Para empezar

Las Hojas de Estilo en Cascada se escriben dentro del código HTML de la página web, solo en casos avanzados se pueden escribir en un archivo a parte y enlazar la página con ese archivo. En un principio vamos a utilizar la manera más directa de aplicar estilos a los elementos de la página, mas adelante veremos la declaración en archivos externos. Para ello, y esto es la primera lección de este artículo, vamos a conocer un nuevo atributo que se puede utilizar en casi todas las etiquetas HTML: style.

Ejemplo:

<p style="color:green;font-weight:bold">El párrafo saldrá con color verde y en negrita</p>

Dentro del atributo style se deben indicar los atributos de estilos CSS separados por punto y coma (;). Durante este artículo vamos a conocer muchos atributos de CSS, los dos primeros que hemos visto aquí son:

Color: indica el color del contenido la etiqueta donde estemos utilizándolo, generalmente indica el color del texto.

Font-weight: indica el grosor del texto. Bold sirve para poner en negrita.

Color en los enlaces

Con HTML definimos el color de los enlaces en la etiqueta <body>, con lo atributos link, vlink y alink. Esto nos permite cambiar el color de los enlaces para todo el documento, pero ¿Y si queremos cambiar el color de un enlace en concreto, para que tenga otro color que el definido en la etiqueta <body>?

Para hacer esto utilizaremos el atributo style dentro del enlace:

<a href="mienlace.html" style="color:red">

Así saldrá el enlace en color rojo, independientemente de lo definido para todo el documento.

Espaciado entre líneas

Con CSS podemos definir el espacio que hay entre cada línea del documento, utilizando el atributo line-height. Por ejemplo, podemos definir que para todo un párrafo el espacio entre cada una de sus líneas sea 25 pixels:

<p style="line-height: 25px;"> Un párrafo normal en el que cada una de las líneas está separada 25 pixels de la otra. Hay que poner suficiente texto

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

5

Page 6: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

como para que se vean 2 líneas, así saldrán separadas </p>

Espaciado entre caracteres

Se puede definir también el espacio entre cada carácter. Esto se hace con el atributo de CSS letter-spacing. Veamos un ejemplo:

<p style="letter-spacing:12cm"> Este párrafo tiene las letras espaciadas por 1 centímetro. </p>

Este atributo, al igual que ocurre con muchos otros de CSS, no está soportado por todos los navegadores. En concreto Netscape, en su versión 4 todavía no lo incluye.

Enlaces sin subrayado

Uno de los efectos más significativos y fáciles de realizar con CSS es eliminar el subrayado de los enlaces de una página web. Existe un atributo que sirve para definir la decoración de un texto, si está subrayado, tachado, o si no tiene ninguna de estas "decoraciones". Es el atributo text-decoration, en este caso indicaremos en un enlace que no queremos decoración:

<a href="mipagina.html" style="text-decoration:none">

Incluir estilos para todo un sitio web

Una de las características más potentes de la programación con hojas de estilo consiste en definir los estilos de todo un sitio web. Esto se consigue creando un archivo donde tan sólo colocamos las declaraciones de estilos de la página y enlazando todas las páginas del sitio con ese archivo. De este modo, todas las páginas comparten una misma declaración de estilos y, por tanto, si la cambiamos, cambiarán todas las páginas.

Veamos ahora todo el proceso para incluir estilos con un fichero externo.

1- Creamos el fichero con la declaración de estilos

Es un fichero de texto normal, que puede tener cualquier extensión, aunque le podemos asignar la extensión .css para aclararnos qué tipo de archivo es. El texto que debemos incluir debe ser escrito exclusivamente en sintaxis CSS, es un poco distinta que la sintaxis que utilizamos dentro del atributo style. Sería erróneo incluir código HTML en este archivo: etiquetas y demás. Podemos ver un ejemplo a continuación.

P { font-size : 12pt; font-family : arial,helvetica; font-weight : normal; } H1 { font-size : 36pt; font-family : verdana,arial; text-decoration : underline; text-align : center; background-color : Teal; } BODY { background-color : #006600;

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

6

Page 7: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

font-family : arial; color : White; }

2- Enlazamos la página web con la hoja de estilos

Para ello vamos a colocar la etiqueta <LINK> con los atributos

• rel="STYLESHEET" indicando que el enlace es con una hoja de estilo. • type="text/css" porque el archivo es de texto, en sintaxis CSS. • href="estilos.css" indica el nombre del fichero fuente de los estilos.

Veamos una página web entera que enlaza con la declaración de estilos anterior:

<html> <head> <link rel="STYLESHEET" type="text/css" href="estilos.css"> <title>Página que lee estilos</title> </head> <body> <h1>Página que lee estilos</h1> <p> Esta página tiene en la cabecera la etiqueta necesaria para enlazar con la hoja de estilos. Es muy fácil. </p> </body> </html>

Las CSS tienen mucho más jugo

Las Hojas de Estilo en Cascada son un estándar muy amplio, con unas especificaciones y posibilidades muy grandes. En este artículo hemos visto unos cuantos efectos interesantes que realizar aunque no tengamos ningún conocimiento previo. Sin embargo, lo mejor para trabajar con esta tecnología es conocerla bien, gracias a ello, los resultados serán mucho más sorprendentes.

Para ampliar esta información y conocer más sobre CSS se puede encontrar un manual en desarrolloweb.com www.desarrolloweb.com/manuales/2

Artículo por Juliana Monteiro Lazaro

Qué es Javascript

Javascript es un lenguaje de programación utilizado para crear pequeños programitas encargados de realizar acciones dentro del ámbito de una página web.

Se trata de un lenguaje de programación del lado del cliente, porque es el navegador el que soporta la carga de procesamiento. Gracias a su compatibilidad con la mayoría de los navegadores modernos, es el lenguaje de programación del lado del cliente más utilizado.

Con Javascript podemos crear efectos especiales en las páginas 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, después del HTML, que puede dar un programador de la web

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

7

Page 8: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

que decida mejorar sus páginas y la potencia de sus proyectos. Es un lenguaje de programación 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 programación podrán aprender este lenguaje con facilidad y utilizarlo en toda su potencia con sólo un poco de práctica.

Entre las acciones típicas que se pueden realizar en Javascript tenemos dos vertientes. Por un lado los efectos especiales sobre páginas web, para crear contenidos dinámicos y elementos de la página 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 páginas interactivas con programas como calculadoras, agendas, o tablas de cálculo.

Javascript es un lenguaje con muchas posibilidades, permite la programación de pequeños scripts, pero también de programas más grandes, orientados a objetos, con funciones, estructuras de datos complejas, etc. Además, Javascript pone a disposición del programador todos los elementos que forman la página web, para que éste pueda acceder a ellos y modificarlos dinámicamente.

Con Javascript el programador, que se convierte en el verdadero dueño y controlador de cada cosa que ocurre en la página cuando la está visualizando el cliente.

Ver también: Para que quede claro el lenguaje y alguna aplicación práctica, que se puede hacer y entender rápidamente, se puede acceder al artículo Efectos Rápidos con Javascript. En dicho artículo veremos la implementación de un botón de volver y la muestra de la última modificación de una página web.

Referencias

En DesarrolloWeb.com hemos publicado un manual de programación en Javascript, donde explicamos toda la sintaxis y metodología de programaión.

Además, podemos acceder al Manual de Javascript II, donde vamos a tratar de acercarnos a este lenguaje en profundidad y conocer todos sus secretos y recursos disponibles.

También hemos hecho una recopilación de scripts interesantes para hacer directamente una variada gama de efectos y utilidades para páginas web. En nuestro Taller de Javascript.

Además de estos manuales, tenemos muchos otros recursos interesantes sobre el lenguaje en nuestro buscador, en la sección Javascript.

Artículo por Miguel Angel Alvarez

Qué es Visual Basic Script

Es un lenguaje de programación de scripts del lado del cliente, pero sólo compatible con Internet Explorer. Es por ello que su utilización está desaconsejada a favor de Javascript.

Está basado en Visual Basic, un popular lenguaje para crear aplicaciones Windows. Tanto su sintaxis como la manera de trabajar están muy inspirados en él. Sin embargo, no todo lo que se puede hacer en Visual Basic lo podremos hacer en Visual Basic Script, pues este último es

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

8

Page 9: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

una versión reducida del primero.

El modo de funcionamiento de Visual Basic Script para construir efectos especiales en páginas web es muy similar al utilizado en Javascript y los recursos a los que se puede acceder también son los mismos: el navegador.

Como decimos, no debemos utilizar este lenguaje en la mayoría de las ocasiones, aunque un caso donde tendría sentido utilizar Visual Basic Script sería la construcción de una Intranet donde sepamos con toda seguridad que los navegadores que se van a conectar serán siempre Internet Explorer. En este caso, un programador habitual de Visual Basic tendría más facilidades para realizar los scripts utilizando Visual Basic Script en lugar de Javascript.

Nota: El popular ASP (Active Server Pages) es una tecnología de programación del lado del servidor. Habitualmente, los scripts ASP se escriben con Visual Basic Script también y eso no nos debe liar. Visual Basic Script, por tanto, es un lenguaje que se puede utilizar para la programación en el cliente, pero también para la programación en el servidor. En este artículo hemos hablado del lenguaje en su faceta del lado del cliente, puesto que en la faceta del servidor tenemos muchos manuales, pero están englobados dentro de la programación en ASP.

Referencias

En DesarrolloWeb.com tenemos un manual de Visual Basic Script, que resulta ser uno de los pocos que se encuentran el la Red sobre esta materia. Está orientado a enseñar la sintaxis y la programación del lado del cliente con el lenguaje.

Artículo por Miguel Angel Alvarez

Qué es Java

Java es un lenguaje de programación con el que podemos realizar cualquier tipo de programa. En la actualidad es un lenguaje muy extendido y cada vez cobra más importancia tanto en el ámbito de Internet como en la informática en general. Está desarrollado por la compañía Sun Microsystems con gran dedicación y siempre enfocado a cubrir las necesidades tecnológicas más punteras.

Una de las principales características por las que Java se ha hecho muy famoso es que es un lenguaje independiente de la plataforma. Eso quiere decir que si hacemos un programa en Java podrá funcionar en cualquier ordenador del mercado. Es una ventaja significativa para los desarrolladores de software, pues antes tenían que hacer un programa para cada sistema operativo, por ejemplo Windows, Linux, Apple, etc. Esto lo consigue porque se ha creado una Máquina de Java para cada sistema que hace de puente entre el sistema operativo y el programa de Java y posibilita que este último se entienda perfectamente.

La independencia de plataforma es una de las razones por las que Java es interesante para Internet, ya que muchas personas deben tener acceso con ordenadores distintos. Pero no se queda ahí, Java está desarrollándose incluso para distintos tipos de dispositivos además del ordenador como móviles, agendas y en general para cualquier cosa que se le ocurra a la industria.

Pasado y presente

Java fue pensado originalmente para utilizarse en cualquier tipo de electrodoméstico pero la idea fracasó. Uno de los fundadores de Sun rescató la idea para utilizarla en el ámbito de

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

9

Page 10: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Internet y convirtieron a Java en un lenguaje potente, seguro y universal gracias a que lo puede utilizar todo el mundo y es gratuito. Una de los primeros triunfos de Java fue que se integró en el navegador Netscape y permitía ejecutar programas dentro de una página web, hasta entonces impensable con el HTML.

Actualmente Java se utiliza en un amplio abanico de posibilidades y casi cualquier cosa que se puede hacer en cualquier lenguaje se puede hacer también en Java y muchas veces con grandes ventajas. Para lo que nos interesa a nosotros, con Java podemos programar páginas web dinámicas, con accesos a bases de datos, utilizando XML, con cualquier tipo de conexión de red entre cualquier sistema. En general, cualquier aplicación que deseemos hacer con acceso a través web se puede hacer utilizando Java.

Conclusión

En nuestro buscador en la sección de Java podemos encontrar muchas páginas con algunos tutoriales y fuentes de referencia muy útiles. Java es tan grande que si queremos hacer cosas complicadas no podremos aprenderlo todo a través de los tuturiales online y nos harán falta libros o cursos. La página de Java de Sun es sin duda la mejor referencia, aunque un poco avanzada para los que empiezan, es la referencia más útil para los que necesitan documentarse para algo en concreto.

Artículo por Miguel Angel Alvarez

Qué son los Applets de Java

Es otra manera de incluir código a ejecutar en los clientes que visualizan una página web. Se trata de pequeños programas hechos en Java, que se transfieren con las páginas web y que el navegador ejecuta en el espacio de la página.

Los applets de Java están programados en Java y precompilados, es por ello que la manera de trabajar de éstos varía un poco con respecto a los lenguajes de script como Javascript. Los applets son más difíciles de programar que los scripts en Javascript y requerirán unos conocimientos básicos o medios del lenguaje Java.

La principal ventaja de utilizar applets consiste en que son mucho menos dependientes del navegador que los scripts en Javascript, incluso independientes del sistema operativo del ordenador donde se ejecutan. Además, Java es más potente que Javascript, por lo que el número de aplicaciones de los applets podrá ser mayor.

Como desventajas en relación con Javascript cabe señalar que los applets son más lentos de procesar y que tienen espacio muy delimitado en la página donde se ejecutan, es decir, no se mezclan con todos los componentes de la página ni tienen acceso a ellos. Es por ello que con los applets de Java no podremos hacer directamente cosas como abrir ventanas secundarias, controlar Frames, formularios, capas, etc.

Cómo es posible la multiplataforma en Java

Java es compatible con todos los sistemas porque basa su funcionamiento en los Byte Codes, que no es más que una precompilación del código fuente de Java.

Estos Byte Codes no son el programa en Java propiamente dicho, sino un archivo que contiene un código intermedio que puede manejar la Máquina Virtual de Java. Cada sistema operativo dispone de una Maquina Virtual de Java que puede interpretar los Byte Codes y transformarlos a sentencias ejecutables en el sistema en cuestión.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

10

Page 11: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Ejemplos de Applets de Java

En la web podemos encontrar muchos ejemplos de applets de Java muy útiles y complejos. Nosotros aquí vamos a mostrar un par de ejemplos que no tienen demasiada importancia, pero que pueden aclarar un poco más de qué se tratan estos applets.

• Ejemplo de Reloj 3D . Efecto visual para incorporar un reloj digitan el 3D en tu página web.

• Ejemplo de banner dinámico . Una animación de diversas palabras que salen en el espacio de un banner. Se puede configurar para que salga el texto que deseemos.

Nota: Los applets no los hemos hecho nosotros.

Estos applets los hemos descargado de Internet para mostrarlos en este artículo. Si lo deseáis, podéis acceder a los archivos .zip con los applets y su código para mostrarlos en una página HTML. + Reloj 3D - 5.10 Kb + Banner animado - 14.6 Kb

Ampliación

Si deseas ampliar la información sobre los applets o sobre Java recomendamos estudiar la sección Java en el buscador de DesarrolloWeb.com.

También tenemos un artículo donde se muestra el código de un applet de java.

Artículo por Miguel Angel Alvarez

Qué es ASP

ASP (Active Server Pages) es la tecnología desarrollada por Microsoft para la creación de páginas dinámicas del servidor. ASP se escribe en la misma página 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 envíe la página a través de Internet al cliente. Las páginas que se ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en red, y otras tareas para crear la página final que verá el cliente. El cliente solamente recibe una página con el código HTML resultante de la ejecución de la página ASP. Como la página resultante contiene únicamente código HTML, es compatible con todos los navegadores. Podemos saber algo más sobre la programación del servidor y del cliente en el artículo qué es DHTML.

El tipo de servidores que emplean este lenguaje son, evidentemente, todos aquellos que funcionan con sistema Windows NT, aunque también 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. También tenemos la posibilidad de comprar componentes ActiveX fabricados por distintas empresas de desarrollo de software que sirven para realizar múltiples usos, como el envio de correo, generar gráficas dinámicamente, y un largo etc.

Actualmente se ha presentado ya la segunda versión de ASP, el ASP.NET, que comprende algunas mejoras en cuanto a posibilidades del lenguaje y rapidez con la que funciona. ASP.NET

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

11

Page 12: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

tiene algunas diferencias en cuanto a sintaxis con el ASP, de modo que se ha de tratar de distinta manera uno de otro.

Para enterarnos bien de lo que es ASP y aprender a programar en el lenguaje disponemos de una sección en DesarrolloWeb dedicada por entero a tratar ASP a fondo.

Artículo por Miguel Angel Alvarez

Qué es PHP

PHP es el acrónimo de Hipertext Preprocesor. Es un lenguaje de programación del lado del servidor gratuito e independiente de plataforma, rápido, con una gran librería de funciones y mucha documentación.

Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web, justo antes de que se envíe la página a través de Internet al cliente. Las páginas que se ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en red, y otras tareas para crear la página final que verá el cliente. El cliente solamente recibe una página con el código HTML resultante de la ejecución de la PHP. Como la página resultante contiene únicamente código HTML, es compatible con todos los navegadores. Podemos saber algo más sobre la programación del servidor y del cliente en el artículo qué es DHTML.

Esquema del funcionamiento de las páginas PHP.

Una vez que ya conocemos el concepto de lenguaje de programación de scripts del lado del

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

12

Page 13: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

servidor podemos hablar de PHP. PHP se escribe dentro del código HTML, lo que lo hace realmente fácil de utilizar, al igual que ocurre con el popular ASP de Microsoft, pero con algunas ventajas como su gratuidad, independencia de plataforma, rapidez y seguridad. Cualquiera puede descargar a través de la página principal de PHP www.php.net y de manera gratuita, un módulo que hace que nuestro servidor web comprenda los scripts realizados en este lenguaje. Es independiente de plataforma, puesto que existe un módulo de PHP para casi cualquier servidor web. Esto hace que cualquier sistema pueda ser compatible con el lenguaje y significa una ventaja importante, ya que permite portar el sitio desarrollado en PHP de un sistema a otro sin prácticamente ningún trabajo.

PHP, en el caso de estar montado sobre un servidor Linux u Unix, es más rápido que ASP, dado que se ejecuta en un único espacio de memoria y esto evita las comunicaciones entre componentes COM que se realizan entre todas las tecnologías implicadas en una página ASP.

Por último señalábamos la seguridad, en este punto también es importante el hecho de que en muchas ocasiones PHP se encuentra instalado sobre servidores Unix o Linux, que son de sobra conocidos como más veloces y seguros que el sistema operativo donde se ejecuta las ASP, Windows NT o 2000. Además, PHP permite configurar el servidor de modo que se permita o rechacen diferentes usos, lo que puede hacer al lenguaje más o menos seguro dependiendo de las necesidades de cada cual.

Fue creado originalmente en 1994 por Rasmus Lerdorf, pero como PHP está desarrollado en política de código abierto, a lo largo de su historia ha tenido muchas contribuciones de otros desarrolladores. Actualmente PHP se encuentra en su versión 4, que utiliza el motor Zend, desarrollado con mayor meditación para cubrir las necesidades de las aplicaciones web actuales.

Este lenguaje de programación está preparado para realizar muchos tipos de aplicaciones web gracias a la extensa librería de funciones con la que está dotado. La librería de funciones cubre desde cálculos matemáticos complejos hasta tratamiento de conexiones de red, por poner dos ejemplos.

Algunas de las más importantes capacidades de PHP son: compatibilidad con las bases de datos más comunes, como MySQL, mSQL, Oracle, Informix, y ODBC, por ejemplo. Incluye funciones para el envío de correo electrónico, upload de archivos, crear dinámicamente en el servidor imágenes en formato GIF, incluso animadas y una lista interminable de utilidades adicionales.

Se puede obtener mucha más información de PHP en los diversos manuales de PHP que hemos publicado en desarrolloweb. Manuales que atienden a los diversos niveles de cada programdor:

• Programación en PHP : Aprende PHP desde el principio con este manual que toca las prestaciones más imprescindibles.

• Programación en PHP II : Aprende a hacer una aplicación práctica en PHP. Un sistema de postales.

• Taller de PHP : otros artículos prácticos más avanzados con el lenguaje.

Artículo por Miguel Angel Alvarez

Qué es XML

XML es una tecnología en realidad muy sencilla que tiene a su alrededor otras tecnologías que la complementan y la hacen mucho más grande y con unas posibilidades mucho mayores.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

13

Page 14: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Vamos a ver a lo largo de varios capítulos una introducción al mundo XML, es decir, al lenguaje así como a las tecnologías que trabajan con él, sus usos, ventajas y modos de llevar a cabo las tareas.

XML, con todas las tecnologías relacionadas, representa una manera distinta de hacer las cosas, más 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 importantísimo en este mundo actual, que tiende a la globalización y la compatibilidad entre los sistemas, ya que es la tecnología que permitirá compartir la información de una manera segura, fiable, fácil. Además, 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 validación de estos o el recorrido de las estructuras corre a cargo del lenguaje y está especificado por el estándar, de modo que el programador no tiene que preocuparse por ello.

Vemos que XML no está sólo, sino que hay un mundo de tecnologías alrededor de él, de posibilidades, maneras más fáciles e interesantes de trabajar con los datos y, en definitiva, un avance a la hora de tratar la información, que es en realidad el objetivo de la informática 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 más refinada que permitirá que todas las anteriores se puedan comunicar entre si sin problemas, ya que los datos cobran sentido. Todo esto lo veremos con calma en la Introducción a XML.

XML es interesante en el mundo de Internet y el e-bussiness, ya que existen muchos sistemas distintos que tienen que comunicarse entre si, pero como se ha podido imaginar, interesa por igual a todas las ramas de la informática y el tratamiento de datos, ya que permite muchos avances a la hora de trabajar con ellos.

En la introducción a XML, a lo largo de los siguientes capítulos, vamos a ver algunas características importantes de la tecnología que nos permitirán comprender mejor el mundo XML y cómo soluciona nuestros problemas a la hora de trabajar con los datos.

Artículo por Miguel Angel Alvarez

Qué es VRML

El Virtual Reality Modeling Language es un lenguaje de modelado de mundos virtuales en tres dimensiones. Igual que el HTML nos sirve para maquetar páginas web, VRML sirve para crear mundos en tres dimensiones a los que accedemos utilizando nuestro navegador, igual que si visitasemos una página web cualquiera, con la salvedad que nuestras visitas no se limitan a ver un simple texto y fotografías, sino que nos permite ver todo tipo de objetos y construcciones en 3D por los que podemos pasear o interactuar.

Este modo de visitar sitios en Internet es mucho más avanzado y posee grandes ventajas. Para empezar la

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

14

Page 15: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

navegación se desarrolla de una manera mucho más intuitiva, dado que la forma de actuar dentro del mundo virtual es similar a la de la vida real. Podemos movernos en todas las direcciones, no solo izquierda y derecha sino también adelante, atrás, arriba y abajo. Podemos tratar con los objetos como en la vida misma, tocarlos, arrastrarlos, etc. y en general todo lo que podais imaginar. También los escenarios son mucho más reales, pensemos en un ejemplo como podría ser una biblioteca virtual. En élla podríamos andar por cada una de las salas, tomar determinados libros y leerlos.

A la larga, el acceso a Internet se ha de convertir en una experiencia mucho más cercana a la que realizamos en la vida y las visitas a los lugares retratados en la Red serán mucho más reales. Sin embargo, en la actualidad VRML presenta muchas limitaciones con respecto a sus potencialidades, que se irán cubriendo con la llegada de máquinas más potentes y periféricos avanzados para la realidad virtual como pueden ser guantes o cascos.

Un poco de historia

El VRML surgió en la primavera de 1994, durante una reunión convocada por Tim Berners-Lee y Dave Ragget para tratar de acercar los desarrollos de realidad virtual a Internet. En esta reunión los asistentes llegaron a la conclusión que se tenía que desarrollar un lenguaje común para la descripción de los mundos en 3D.

De este modo, en la Primera Conferencia Mundial de la WWW en Ginebra se aprobó el desarrollo de un nuevo lenguaje que permitiese crear mundos en tres dimensiones a los que se pudiera acceder por la World Wide Web.

Con el tiempo se desarrolló el lenguaje dentro de varios requisitos: que fuese adaptable a la red, que no requiriese una línea de alta velicidad (anchos de banda elevados), que fuese multiplataforma, etc.

Materiales necesarios

Los materiales necesarios para comenzar con VRML son pocos, y posiblemente ya tengamos, sin saberlo, todos los ingredientes para introducirnos en el desarrollo y edición de mundos virtuales. Estos son:

• Un editor de textos sencillo. El Block de notas es ideal. También valdrá cualquier otro editor en modo ASCII. También podemos utilizar editores especializados como el VRML PAD.

• Un visualizador VRML para ver los resultados, que se instala en el navegador como cualquier otro plug-in. Posiblemente tu navegador ya esté preparado para ver los mundos en VRML, si no es así, tienes que instalarlo. Un visualizador muy conocido es el Cosmo Player.

Ejemplo de VRML

El archivo que contiene el código VRML es un fichero de texto. Este deberá ser guardado con extensión .wrl para ser reconocido por el navegador como archivo fuente de un mundo virtual.

Para su posterior visualización simplemente habrá de abrirse con el navegador. Si nuestro visualizador se encuentra correctamente instalado se encargará de mostrar el mundo y podremos interaccionar con el.

Podemos visitar este enlace para ver un mundo en VRML, si es que tenemos instalado el visor.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

15

Page 16: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Si no es así no podremos ver el mundo virtual hasta que no lo hayamos instalado.

Ver un mundo virtual que construido para la ocasión.

Enlaces interesantes

1. Directorio VRML de nuestro buscador 2. Descripción del Cosmo Player y enlace para la descarga 3. Descripción y descarga de un editor de VRML

Artículo por Miguel Angel Alvarez

Qué son las cookies

En nuestros viajes por la Red visitamos gran cantidad de páginas, muchas de ellas bastante complicadas que implementan distintos servicios de Internet. Estas páginas tienen que guardar distintas informaciones acerca de un usuario, por ejemplo su nombre, su edad o su color preferido. Para ello cuentan con una serie de mecanismos en el servidor como bases de datos u otro tipo de contenedores, pero hay un mecanismo mucho más interesante de guardar esa información que los propios recursos del servidor, que es el propio ordenador del usuario.

En nuestros ordenadores se guardan muchos datos que necesitan conocer las páginas web cada vez que entramos en la página, estas pequeñas informaciones son las cookies: estados de variables que se conservan de una visita a otra en el ordenador del cliente.

Como es un poco peligroso que las páginas web a las que accedemos se dediquen a introducir cosas en nuestro ordenador, las cookies están altamente restringidas. Para empezar, solamente podemos guardar en ellas textos, nunca programas, imágenes, etc. Además, los textos nunca podrán ocupar más de 1 K, de modo que nadie podría inundarnos el ordenador a base de cookies. Estas restricciones, unidas a la necesidad de poner una fecha de caducidad a las cookies para que estas se guarden, hacen que el aceptar cookies no signifique un verdadero problema para la integridad de nuestros sistemas.

Ejemplos de uso de las cookies

Un ejemplo típico de las cookies podría ser un contador de las veces que accede un usuario a una página. Podríamos poner una cookie en el ordenador del cliente donde tendríamos una variable que lleva la cuenta de las veces que ha accedido a la página y cada vez que se accede se incrementa en uno.

En desarrolloweb, igual que muchos otros sitios, utilizamos las cookies para guardar la personalización de un usuario de la página. En el momento de escribir este reportaje se puede ver en el diseño de desarrolloweb un botón que pone personalización y donde hay varios colores. Pulsando cada color la página cambia, para verse con ese color. Para que el color elegido se conserve de visita en visita se utilizan las cookies.

Otro ejemplo típico es el que guarda el perfil del usuario. Si el usuario accede a contenidos determinados podemos enviarle una cookie que le marca como interesado en un tema. A medida que va accediendo a distintos sitios le vamos encasillando como joven, adulto, hombre, mujer, o lo que proceda. Conociendo el perfil de un usuario se le pueden ofrecer un tipo de

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

16

Page 17: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

productos o servicios orientados a sus gustos o necesidades.

Cómo se utilizan las cookies

Para trabajar con cookies tenemos que utilizar un lenguaje de programación avanzado como Javascript o ASP, PHP, etc. No podemos entonces trabajar con cookies si solamente nos dedicamos a utilizar el HTML, que ya sabemos que es un poco limitado para cosas que se salgan de mostrar contenido en páginas estáticas.

En desarrolloweb tenemos las secciones de ASP y PHP, donde puedes encontrar algunos artículos que explican el uso de las cookies en estos lenguajes.

Polémica de las cookies

Existe un problema con estas galletitas y es que nos cortan nuestra intimidad. Lo que señalábamos anteriormente acerca de guardar el perfil de un usuario puede llegar a ser un problema para nosotros, por que nos están vigilando y apuntando cada uno de nuestros movimientos, lo que puede convertirse en un abuso de información que no tiene por qué pertenecer a nadie más que nosotros. Las empresas que más utilizan esta clasificación del personal son los AD-Servers (servidores de banners) como el de Doubleclick. No queremos entrar aquí más en esta polémica, pero si despertar la inquietud de que posiblemente estén entrando en nuestra intimidad.

Artículo por Miguel Angel Alvarez

Qué es SQL

Las aplicaciones en red son cada día más numerosas y versátiles. En muchos casos, el esquema básico de operación es una serie de scripts que rigen el comportamiento de una base de datos.

Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia de estándares que nos permiten el realizar las operaciones básicas de una forma universal.

Es de eso de lo que trata el Structured Query Language que no es mas que un lenguaje estándar de comunicación con bases de datos. Hablamos por tanto de un lenguaje normalizado que nos permite trabajar con cualquier tipo de lenguaje (ASP o PHP) en combinación con cualquier tipo de base de datos (MS Access, SQL Server, MySQL...).

El hecho de que sea estándar no quiere decir que sea idéntico para cada base de datos. En efecto, determinadas bases de datos implementan funciones específicas que no tienen necesariamente que funcionar en otras.

Aparte de esta universalidad, el SQL posee otras dos características muy apreciadas. Por una parte, presenta una potencia y versatilidad notables que contrasta, por otra, con su accesibilidad de aprendizaje.

El manual de SQL de desarrolloweb pretende dar a conocer las operaciones básicas que se

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

17

Page 18: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

pueden realizar con SQL y que tienen una aplicación directa con la creación de aplicaciones en red sin profundizar más de lo estrictamente necesario. Buscamos con ello ofrecer al webmaster un manual de referencia práctico y aplicado.

Artículo por Rubén Alvarez

Qué es un Webmaster

¿Qué es Ser WebMaster? La palabra WebMaster en definitiva es una palabra de origen Inglés, que si lo traducimos al castellano queda algo como Maestro Web. Pero muchas veces escuchamos estas palabras que soy WebMaster, conozco a un WebMaster y no sabemos realmente cual es la función especifica de estas personas en las cuales me incluyo.

Un WebMaster es la persona encargada de un sitio, vendría siendo como el director de una empresa, es la persona que decide las tecnologías que se van a usar, decide, los servidores, los chiches y la estructura.

Por empezar un WebMaster es una persona responsable, es la responsable propiamente dicho de Todo un Sitio, ya que es la que tiene por ejemplo, los códigos o passwords para hacer modificaciones en la pagina. Es la única persona autorizada a que si no le gusta la estructura o los contenidos del sitio puede decir que va o no va.

WebMasters Vs. Diseñadores Gráficos.

No tenemos que confundir los tantos, los WebMaster son WebMaster propiamente dicho, un diseñador es un diseñador por lo cual, en nuestro site si no sabemos de diseño démosle trabajo a la gente que sabe del tema, ya que un WebMaster abarca otros temas como explicábamos y tiene otras responsabilidades.

Muchas veces nosotros los WebMaster queremos dar nuestro toque de diseño a nuestro site, claro que podemos aportar muchas cosas para los encargados de diseño, pero una recomendación muy importante, no decidir en el tema de diseño, tenemos que tener para armar nuestro site, un encargado en el área, un experto en el tema de diseño para que nosotros solo nos aboquemos a nuestro trabajo que es el de armar todo lo que el grupo arma, en diseño y contenido.

Una cosa esencial que tenemos que ver a la hora de empezar a trabajar en nuestro site con los diseñadores es de explicarles los servidores en los que se va a trabajar, explicarles con porcentajes las tecnologías que convienen y las que no, en definitiva adaptarlos a lo que tenemos nosotros.

WebMasters y seguridad

Si bien hablamos de que los WebMaster son las personas que están encargadas de tener los códigos de acceso a la pagina, tenemos que hablar de que también puede ser el administrador del site, por lo tanto tiene que tener conocimientos amplios sobre seguridad informática para proteger de cualquier ataque a el sitio.

También tenemos que tratar los WebMaster es de toda la información que corra por nuestro

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

18

Page 19: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

site que sean lo mas privadas posibles, tenemos que asegurarnos siempre de que nuestros Server sean seguros para que no suframos ataques de hackers con malas intenciones y que nos perjudiquen nuestro trabajo.

Pero en fin ¿Quién se puede hacer llamar WebMaster?

Para ser WebMaster no hay que estudiar ninguna carrera universitaria ni menos tenemos que ir a algún curso para recibirnos de WebMaster. Los WebMaster somos personas altamente capacitadas en el ámbito de Internet por lo cual conocemos a fondo las tecnologías del mercado, somos los que en partes técnicas sabemos bien sobre lo que estamos trabajando, somos la parte mas importante del site porque somos las personas que unen a todas las personas que trabajan, los de contenido, los diseñadores, los noteros, los directivos, para hacer alguna publicación automáticamente pasan por nosotros los WebMaster.

Un punto fundamental que tenemos que tener muy pero muy en cuenta para ser WebMaster es la responsabilidad que tenemos, ya que si leímos lo que decía mas arriba de que somos la persona mas importante de el sitio, tenemos que estar siempre listos para cualquier desafio, y tenemos que afrontar con responsabilidad nuestro puesto de trabajo.

Artículo por Mario Matías Sebely

Qué es Streaming

La tecnología de streaming se utiliza para aligerar la descarga y ejecución de audio y vídeo en la web, ya que permite escuchar y visualizar los archivos mientras se están descargando.

Si no utilizamos streaming, para mostrar un contenido multimedia en la Red, tenemos que descargar primero el archivo entero en nuestro ordenador y más tarde ejecutarlo, para finalmente ver y oir lo que el archivo contenía. Sin embargo, el streaming permite que esta tarea se realice de una manera más rápida y que podamos ver y escuchar su contenido durante la descarga.

El streaming funciona de la siguiente manera. Primero nuestro ordenador (el cliente) conecta con el servidor y éste le empieza a mandar el fichero. El cliente comienza a recibir el fichero y construye un buffer donde empieza a guardar la información. Cuando se ha llenado el buffer con una pequeña parte del archivo, el cliente lo empieza a mostrar y a la vez continúa con la descarga. El sistema está sincronizado para que el archivo se pueda ver mientras que el archivo se descarga, de modo que cuando el archivo acaba de descargarse el fichero también ha acabado de visualizarse. Si en algún momento la conexión sufre descensos de velocidad se utiliza la información que hay en el buffer, de modo que se puede aguantar un poco ese descenso. Si la comunicación se corta demasiado tiempo, el buffer se vacía y la ejecución el archivo se cortaría también hasta que se restaurase la señal.

Programas de Streaming

En realidad, este proceso de streaming lo podemos haber visto en muchas ocasiones en nuestros ordenadores. Es lo que hacen programas como el Real Player o el Windows Media Player, programas que se instalan como plug-ins en los navegadores para recibir y mostrar contenidos multimedia por streaming.

Cuando pretendemos incluir audio o video en las páginas lo mejor pues, es utilizar la tecnología de streaming. Para ello simplemente tenemos que guardar los archivos multimedia

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

19

Page 20: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

con el formato de uno de los programas de streaming y seguir unas pequeñas normas a la hora de subirlos a Internet y colocarlos en la página. Las normas que seguir son propias de cada sistema y no las veremos aquí. Lo mejor para enterarse de cómo funcionan es visitar las correspondientes páginas web, señaladas más abajo.

Para convertir los archivos de audio y vídeo al formato de cada programa de streaming se utilizan unos programas especiales que se pueden descargar de las páginas de cada tecnología. Por ejemplo, el programa para convertir al formato que lee el Real Player se llama Real Producer.

A la hora de desarrollar el web con contenidos multimedia será necesario que nos decidamos a utilizar una tecnología de streaming en concreto y no las utilicemos todas para no obligar a nuestros usuarios a descargarse todos los plug-ins del mercado. A continuación vemos las tres posibles tecnologías de streaming del momento.

Real Media es posiblemente la más popular. También es la empresa con más experiencia en el sector y desarrolla muchos productos orientados a la distribución de archivos multimedia Su web: www.real.com

Windows Media es la apuesta de Microsoft. Ya posee una cuota de usuarios muy importante y seguramente aumentará con rapidez ya que Microsoft incluye el plug-in en la instalación típica de los sistemas operativos que está fabricando.

Quick Time es la tercera en discordia. Con menor cuota de mercado.

Servidores de Streaming

En principio no es necesario contar con un servidor especial para colocar archivos de audio o vídeo con descarga streaming en nuestras webs. Cualquier servidor normal puede mandar la información y es el cliente el que se encarga de procesarla para poder mostrarla a medida que la va recibiendo.

Sin embargo, existen servidores especiales preparados para transmitir streaming. Aunque en muchas ocasiones no es necesario utilizarlos nos pueden ofrecer importantes prestaciones como mandar un archivo de mayor o menor calidad dependiendo de la velocidad de nuestra línea.

En determinados casos, como la puesta en marcha de una radio o la transmisión de un evento en directo, si que será imprescindible contar con un servidor de streaming al que mandaremos la señal y con ella, la enviará a todos los clientes a medida que la va recibiendo.

Conclusión

No cabe duda que la transmisión de contenido multimedia a través de la web será cada vez más importante. La tecnología de streaming es un mercado con futuro y grandes compañías ya están luchando por el mercado. La velocidad de Internet aumentará con el tiempo y con ella aumentará la calidad de las transmisiones, para hacer posible tanto la radio como la televisión en Internet.

Artículo por Miguel Angel Alvarez

Qué es la programacion orientada a objetos

La programación Orientada a objetos (POO) es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

20

Page 21: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco con este tipo de programación.

Motivación

Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos problemas. Para conseguir que los esfuerzos de los programadores puedan ser utilizados por otras personas se creó la POO. Que es una serie de normas de realizar las cosas de manera que otras personas puedan utilizarlas y adelantar su trabajo, de manera que consigamos que el código se pueda reutilizar.

La POO no es difícil, pero es una manera especial de pensar, a veces subjetiva de quien la programa, de manera que la forma de hacer las cosas puede ser diferente según el programador. Aunque podamos hacer los programas de formas distintas, no todas ellas son correctas, lo difícil no es programar orientado a objetos sino programar bien. Programar bien es importante porque así nos podemos aprovechar de todas las ventajas de la POO.

Cómo se piensa en objetos

Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real. Por ejemplo vamos a pensar en un coche para tratar de modelizarlo en un esquema de POO. Diríamos que el coche es el elemento principal que tiene una serie de características, como podrían ser el color, el modelo o la marca. Además tiene una serie de funcionalidades asociadas, como pueden ser ponerse en marcha, parar o aparcar.

Pues en un esquema POO el coche sería el objeto, las propiedades serían las características como el color o el modelo y los métodos serían las funcionalidades asociadas como ponerse en marcha o parar.

Por poner otro ejemplo vamos a ver cómo modelizaríamos en un esquema POO una fracción, es decir, esa estructura matemática que tiene un numerador y un denominador que divide al numerador, por ejemplo 3/2.

La fracción será el objeto y tendrá dos propiedades, el numerador y el denominador. Luego podría tener varios métodos como simplificarse, sumarse con otra fracción o número, restarse con otra fracción, etc.

Estos objetos se podrán utilizar en los programas, por ejemplo en un programa de matemáticas harás uso de objetos fracción y en un programa que gestione un taller de coches utilizarás objetos coche. Los programas Orientados a objetos utilizan muchos objetos para realizar las acciones que se desean realizar y ellos mismos también son objetos. Es decir, el taller de coches será un objeto que utilizará objetos coche, herramienta, mecánico, recambios, etc.

Clases en POO

Las clases son declaraciones de objetos, también se podrían definir como abstracciones de objetos. Esto quiere decir que la definición de un objeto es la clase. Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programar una clase. En los ejemplos anteriores en realidad hablábamos de las clases coche o fracción porque sólo estuvimos definiendo, aunque por encima, sus formas.

Propiedades en clases

Las propiedades o atributos son las características de los objetos. Cuando definimos una propiedad normalmente especificamos su nombre y su tipo. Nos podemos hacer a la idea de que las propiedades son algo así como variables donde almacenamos datos relacionados con

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

21

Page 22: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

los objetos.

Métodos en las clases

Son las funcionalidades asociadas a los objetos. Cuando estamos programando las clases las llamamos métodos. Los métodos son como funciones que están asociadas a un objeto.

Objetos en POO

Los objetos son ejemplares de una clase cualquiera. Cuando creamos un ejemplar tenemos que especificar la clase a partir de la cual se creará. Esta acción de crear un objeto a partir de una clase se llama instanciar (que viene de una mala traducción de la palabra instace que en inglés significa ejemplar). Por ejemplo, un objeto de la clase fracción es por ejemplo 3/5. El concepto o definición de fracción sería la clase, pero cuando ya estamos hablando de una fracción en concreto 4/7, 8/1000 o cualquier otra, la llamamos objeto.

Para crear un objeto se tiene que escribir una instrucción especial que puede ser distinta dependiendo el lenguaje de programación que se emplee, pero será algo parecido a esto.

miCoche = new Coche()

Con la palabra new especificamos que se tiene que crear una instancia de la clase que sigue a continuación. Dentro de los paréntesis podríamos colocar parámetros con los que inicializar el objeto de la clase coche.

Estados en objetos

Cuando tenemos un objeto sus propiedades toman valores. Por ejemplo, cuando tenemos un coche la propiedad color tomará un valor en concreto, como por ejemplo rojo o gris metalizado. El valor concreto de una propiedad de un objeto se llama estado.

Para acceder a un estado de un objeto para ver su valor o cambiarlo se utiliza el operador punto.

miCoche.color = rojo

El objeto es miCoche, luego colocamos el operador punto y por último el nombre e la propiedad a la que deseamos acceder. En este ejemplo estamos cambiando el valor del estado de la propiedad del objeto a rojo con una simple asignación.

Mensajes en objetos

Un mensaje en un objeto es la acción de efectuar una llamada a un método. Por ejemplo, cuando le decimos a un objeto coche que se ponga en marcha estamos pasándole el mensaje “ponte en marcha”.

Para mandar mensajes a los objetos utilizamos el operador punto, seguido del método que deseamos invocar.

miCoche.ponerseEnMarcha()

En este ejemplo pasamos el mensaje ponerseEnMarcha(). Hay que colocar paréntesis igual que cualquier llamada a una función, dentro irían los parámetros.

Otras cosas

Hay mucho todavía que conocer de la POO ya que sólo hemos hecho referencia a las cosas más básicas. También existen mecanismos como la herencia y el polimorfismo que son unas de las posibilidades más potentes de la POO.

La herencia sirve para crear objetos que incorporen propiedades y métodos de otros objetos. Así podremos construir unos objetos a partir de otros sin tener que reescribirlo todo.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

22

Page 23: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

El polimorfismo sirve para que no tengamos que preocuparnos sobre lo que estamos trabajando, y abstraernos para definir un código que sea compatible con objetos de varios tipos.

Son conceptos avanzados que cuesta explicar en las líneas de ese informe. No hay que olvidar que existen libros enteros dedicados a la POO y aquí solo pretendemos dar un repaso a algunas cosas para que os suenen cuando tengáis que poneros delante de ellas en los lenguajes de programación que debe conocer un desarrollador del web.

Ejemplo concreto de programación orientada a objetos

Para conseguir un ejemplo concreto de lo que es la programación orientada a objetos, podemos entrar en el Manual de PHP 5. Realmente este manual explica las características de orientación a objetos de PHP 5 y ofrece ejemplos concretos de creación de clases con características como herencia, polimorfismo, etc.

Artículo por Miguel Angel Alvarez

Que es un firewall

Un firewall es un dispositivo que funciona como cortafuegos entre redes, permitiendo o denegando las transmisiones de una red a la otra. Un uso típico es situarlo entre una red local y la red Internet, como dispositivo de seguridad para evitar que los intrusos puedan acceder a información confidencial.

Un firewal es simplemente un filtro que controla todas las comunicaciones que pasan de una red a la otra y en función de lo que sean permite o deniega su paso. Para permitir o denegar una comunicación el firewal examina el tipo de servicio al que corresponde, como pueden ser el web, el correo o el IRC. Dependiendo del servicio el firewall decide si lo permite o no. Además, el firewall examina si la comunicación es entrante o saliente y dependiendo de su dirección puede permitirla o no.

De este modo un firewall puede permitir desde una red local hacia Internet servicios de web, correo y ftp, pero no a IRC que puede ser innecesario para nuestro trabajo. También podemos configurar los accesos que se hagan desde Internet hacia la red local y podemos denegarlos todos o permitir algunos servicios como el de la web, (si es que poseemos un servidor web y queremos que accesible desde Internet). Dependiendo del firewall que tengamos también podremos permitir algunos accesos a la red local desde Internet si el usuario se ha autentificado como usuario de la red local.

Un firewall puede ser un dispositivo software o hardware, es decir, un aparatito que se conecta entre la red y el cable de la conexión a Internet, o bien un programa que se instala en la máquina que tiene el modem que conecta con Internet. Incluso podemos encontrar ordenadores computadores muy potentes y con softwares específicos que lo único que hacen es monitorizar las comunicaciones entre redes.

Si se quiere saber algo más sobre firewalls podemos examinar los enlaces que tenemos en el área de seguridad. Es especialmente interesante este enlace: http://www.ciudadfutura.com/mundopc/cursos/firewalls/fire1.htm

Artículo por Miguel Angel Alvarez

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

23

Page 24: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Qué es CGI

Es el sistema más antiguo que existe para la programación de las páginas dinámicas 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 también empleados para construirlos.

El funcionamiento básico de un programa CGI es parecido al apuntado para el conjunto de las páginas dinámicas del servidor, con algunas particularidades.

1. Se realiza una petición http, a la que pueden acompañar datos llegados o bien por un formulario o bien a través de la URL.

2. El servidor ejecuta los programas CGI a los que se accede y trabaja con los recursos necesarios para llevar a cabo las acciones, como por ejemplo bases de datos.

3. El programa CGI va escribiendo en la salida estándar el resultado de la ejecución del CGI, que incluye etiquetas HTML, ya que lo que se escribe es una página web.

Algunas desventajas de la programación en CGI son las siguientes:

• Los resultados se escriben directamente con el CGI, así que el código del programa se mezcla con el del HTML haciendo difícil su comprensión y mantenimiento.

• Cada programa CGI que se pone en marcha lo hace en un espacio de memoria propio. Así, si tres usuarios ponen en marcha un CGI a la vez se multiplicará por tres la cantidad de recursos que ocupe ese CGI. Esto significa una grave ineficiencia.

Para completar esta información sería interesante acceder a la sección CGI de nuestro directorio de enlaces, donde podemos encontrar sitios en Internet que ofrecen tutoriales sobre la tecnología y directorios de programas CGI ya creados para hacer cosas tan variadas como tiendas, foros, envio de formularios, etc.

Artículo por Miguel Angel Alvarez

Qué es Perl

Es un lenguaje de programación muy utilizado para construir aplicaciones CGI para el web. Perl es un acrónimo de Practical Extracting and Reporting Languaje, que viene a indicar que se trata de un lenguaje de programación muy práctico para extraer información 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 Uníx, pero en la actualidad está disponible en otros sistemas operativos como Windows.

Perl es un lenguaje de programación interpretado, al igual que muchos otros lenguajes de Internet como Javascript o ASP. Esto quiere decir que el código de los scripts en Perl no se compila sino que cada vez que se quiere ejecutar se lee el código y se pone en marcha interpretando lo que hay escrito. Además es extensible a partir de otros lenguajes, ya que desde Perl podremos hacer llamadas a subprogramas escritos en otros lenguajes. También

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

24

Page 25: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

desde otros lenguajes podremos ejecutar código Perl.

Perl está inspirado a partir de lenguajes como C, sh, awk y sed (algunos provenientes de los sistemas Uníx), pero está enfocado a ser más práctico y fácil 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 rápidamente. Una diferencia fundamental de Perl con respecto a los otros lenguajes es que no limita el tamaño de los datos con los que trabaja, el límite 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. Además, los archivos con el código también deberán tener permiso de ejecución.

Este informe se complementa con los enlaces que podéis encontrar en la sección Perl de nuestro buscador y ocasionalmente la sección CGI.

Artículo por Miguel Angel Alvarez

Qué es C#

C# es el nuevo lenguaje de propósito general orientado a objetos creado por Microsoft para su nueva plataforma .NET.

Microsoft.NET es el conjunto de nuevas tecnologías en las que Microsoft ha estado trabajando estos últimos años con el objetivo de mejorar tanto su sistema operativo como su modelo de componentes (COM) para obtener una plataforma con la que sea sencillo el desarrollo de software en forma de servicios web.

Los servicios web son un novedoso tipo de componentes software que se caracterizan a la hora de trabajar por su total independencia respecto a su ubicación física real, la plataforma sobre la que corre, el lenguaje de programación con el que hayan sido desarrollados o el modelo de componentes utilizado para ello.

El acceso a estos servicios se realiza en base a estándares de Internet, como son diferentes mecanismos del protocolo HTTP (GET y PUT) o el novedoso protocolo RPC conocido como SOAP (Simple Access Object Protocol), que no es más que una combinación de estándares como HTTP y XML para realizar llamadas a los miembros de estos servicios web. La idea detrás de SOAP consiste sencillamente en utilizar HTTP como medio de transporte para el envío de los mensajes de solicitud de ejecución de los miembros de servicios web remotos (lo que permite atravesar barreras tales como firewalls) y utilizar XML como lenguaje con el que escribir los cuerpos de estos mensajes.

Pero la plataforma .NET no son sólo los servicios web, sino que también ofrece numerosos servicios a las aplicaciones que para ella se escriban, como son un recolección de basura, independencia de la plataforma, total integración entre lenguajes (por ejemplo, es posible escribir una clase en C# que derive de otra escrita en Visual Basic.NET que a su vez derive de otra escrita en Cobol)

Como se deduce del párrafo anterior, es posible programar la plataforma .NET en prácticamente cualquier lenguaje, pero Microsoft ha decidido sacar uno nuevo porque ha visto

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

25

Page 26: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

conveniente poder disponer de un lenguaje diseñado desde 0 con vistas a ser utilizado en .NET, un lenguaje que no cuente con elementos heredados de versiones anteriores e innecesarios en esta plataforma y que por tanto sea lo más sencillo posible para programarla aprovechando toda su potencia y versatilidad.

C# combina los mejores elementos de múltiples lenguajes de amplia difusión como C++, Java, Visual Basic o Delphi. De hecho, su creador Anders Heljsberg fue también el creador de muchos otros lenguajes y entornos como Turbo Pascal, Delphi o Visual J++. La idea principal detrás del lenguaje es combinar la potencia de lenguajes como C++ con la sencillez de lenguajes como Visual Basic, y que además la migración a este lenguaje por los porgramadores de C/C++/Java sea lo más inmediata posible.

Además de C#, Microsoft propociona Visual Studio.NET, la nueva versión de su entorno de desarrollo adaptada a la plataforma .NET y que ofrece una interfaz común para trabajar de manera cómoda y visual con cualquiera de los lenguajes de la plataforma .NET (por defecto, C++, C#, Visual Basic.NET y JScript.NET, aunque pueden añadirse nuevos lenguajes mediante los plugins que proporcionen sus fabricantes). El propio autor de este artículo ha publicado un excelente libro de C# donde se puede ampliar toda esta información y, por supuesto, aprender el lenguaje. Consta de unas 260 páginas y ha sido escrito con la idea de que cualquiera con unos conocimientos mínimos de programación pueda seguirlo, aunque sería recomendable que el lector conociese C++, Java o lenguajes similares.

Puede ser descargado, junto con otra documentación, de la web del autor: http://www.josanguapo.com/

Artículo por José Antonio González Seco

Qué es .NET

Microsoft.NET es el conjunto de nuevas tecnologías en las que Microsoft ha estado trabajando durante los últimos años -y cuyo lanzamiento definitivo es inminente, estando ya disponible su primera versión Release Candidate- con los objetivos de:

• Mejorar sus sistemas operativos • Mejorar su modelo de componentes COM+ • Obtener un entorno específicamente diseñado para el desarrollo y ejecución del

software en forma de servicios que puedan ser tanto publicados como accedidos a través de Internet de forma independiente del lenguaje de programación, modelo de objetos, sistema operativo y hardware utilizados tanto para desarrollarlos como para publicarlos. Éste entorno es lo que se denomina la plataforma.NET, y los servicios antes mencionados son a los que se denomina servicios web.

Para el desarrollo y ejecución de aplicaciones en este nuevo entorno tecnológico Microsoft proporciona el conjunto de herramientas conocido .NET Framework SDK, que es posible descargarlo gratuitamente de su sitio web http://www.msdn.microsoft.com/net e incluye compiladores de lenguajes como C#, Visual Basic.NET, Managed C++ y JScript.NET específicamente diseñados para crear aplicaciones para él.

El corazón de la plataforma.NET es el CLR (Common Language Runtime), que es una aplicación similar a un máquina virtual que se encarga de gestionar la ejecución de las aplicaciones para ella escritas. A estas aplicaciones les ofrece numerosos servicios que facilita su desarrollo y mantenimiento y favorecen su fiabilidad y seguridad. Entre ellos los principales son:

• Modelo de programación consistente y sencillo, completamente orientado a objetos.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

26

Page 27: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

• Eliminación del temido problema de compatibilidad entre DLLs conocido como "infierno de las DLLs"

• Ejecución multiplataforma • Ejecución multilenguaje, hasta el punto de que es posible hacer cosas como capturar en

un programa escrito en C# una excepción escrita en Visual Basic.NET que a su vez hereda de un tipo de excepción escrita en Cobol.NET. Aunque más arriba se ha dicho que en el .NET Framework sólo se ofrecen compiladores de C#, MC++, VB.NET y JScript.NET, lo cierto es que aparte Microsoft y terceros han -o están- desarrollado versiones adaptadas a .NET de muchísimos otros lenguajes como APL, CAML, Cobol, Eiffel, Fortran, Haskell, Java, Mercury, ML, Mondrian, Oberon, Oz, Pascal, Perl, Python, RPG, Scheme o Smalltalk

• Recolección de basura • Aislamente de memoria entre procesos y comprobaciones automáticas de seguridad de

tipos en las conversiones • Soporte multihilo • Gestión del acceso a objetos remotos que permite el desarrollo de aplicaciones

distribuidas de manera transparente a la ubicación real de cada uno de los objetos utilizados en las mismas.

• Seguridad avanzada, hasta el punto de que es posible limitar los permisos de ejecución del código en función de su procedencia (Internet, red local, CD-ROM, etc.), el usuario que lo ejecuta o la empresa que lo creó.

• Interoperabilidad con código preexistente, de manera que es posible utilizar con facilidad cualquier librería de funciones u objetos COM y COM+ creados con anterioridad a la aparición de la plataforma .NET

• Adecuación automática de la eficiencia de las aplicaciones a las caracterísitcas concretas de cada máquina donde se vaya a ejecutar

El propio autor de este artículo ha publicado un excelente libro donde podremos encontrar una descripción de .NET mucho más amplia. El libro en concreto trata sobre el lenguaje C#, desarrollado específicamente para la plataforma .NET.

Puede ser descargado, junto con otra documentación, de la web del autor: http://www.josanguapo.com/

Artículo por José Antonio González Seco

Qué es JSP

JSP es un acrónimo de Java Server Pages, que en castellano vendría a decir algo como Páginas de Servidor Java. Es, pues, una tecnología orientada a crear páginas web con programación en Java.

Bibliografía: Esta descripción de JSP está extraída de un PDF en inglés muy completo que introduce la tecnología, que se puede encontrar el la página corporativa de Java de Sun Microsystems, en su sección de aprendizaje online. A su vez, dicho manual proviene del portal Java jGuru .

jGuru: Introduction to JavaServer Pages technology

Con JSP podemos crear aplicaciones web que se ejecuten en variados servidores web, de múltiples plataformas, ya que Java es en esencia un lenguaje multiplataforma. Las páginas JSP están compuestas de código 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.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

27

Page 28: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Motor JSP

El motor de las páginas JSP está basado en los servlets de Java -programas en Java destinados a ejecutarse en el servidor-, aunque el número de desarrolladores que pueden afrontar la programación de JSP es mucho mayor, dado que resulta mucho más sencillo aprender que los servlets.

En JSP creamos páginas de manera parecida a como se crean en ASP o PHP -otras dos tecnologías de servidor-. Generamos archivos con extensión .jsp que incluyen, dentro de la estructura de etiquetas HTML, las sentencias Java a ejecutar en el servidor. Antes de que sean funcionales los archivos, el motor JSP lleva a cabo una fase de traducción de esa página en un servlet, implementado en un archivo class (Byte codes de Java). Esta fase de traducción se lleva a cabo habitualmente cuando se recibe la primera solicitud de la página .jsp, aunque existe la opción de precompilar en código para evitar ese tiempo de espera la primera vez que un cliente solicita la página.

Ejemplo de página JSP

En la imagen siguiente se puede ver un ejemplo extremadamente simple de una página JSP y el esquema de conversión de esa página en un servlet.

Prerequisitos

Para aprender JSP, aparte de conocer HTML, será necesario comprender y tener algo de experiencia en la programación en Java, que es un lenguaje de programación Orientado a Objetos por completo. Una vez conocida la programación en Java se puede estudiar por encima el sistema de Servlets, lo que nos dará una mejor idea del funcionamiento interno del motor JSP.

Para aprender Java podemos consultar algunos enlaces del correspondiente directorio de nuestro buscador de enlaces.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

28

Page 29: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Además, necesitaremos descargar e instalar Tomcat, el contenedor de servlets usado en la referencia oficial de implementación de JSP. Podemos acceder a un ejercicio para aprender a realizar esta instalación, disponible también en la referencia de aprendizaje de la página de Java.

Referencias JSP

Hemos creado una nueva sección en nuestro directorio dedicada por completo a las páginas JSP, que será muy interesante para todo aquel que desee profundizar en el tema.

Artículo por Miguel Angel Alvarez

Qué es Oracle

Oracle es básicamente una herramienta cliente/servidor para la gestión de Bases de Datos. Es un producto vendido a nivel mundial, aunque la gran potencia que tiene y su elevado precio hace que sólo se vea en empresas muy grandes y multinacionales, por norma general. En el desarrollo de páginas web pasa lo mismo: como es un sistema muy caro no está tan extendido como otras bases de datos, por ejemplo, Access, MySQL, SQL Server, etc.

Vamos ahora en centrarnos en que es Oracle exactamente y como funciona la programación sobre éste. Oracle como antes he mencionado se basa en la tecnología cliente/servidor, pues bien, para su utilización primero sería necesario la instalación de la herramienta servidor (Oracle 8i) y posteriormente podríamos atacar a la base de datos desde otros equipos con herramientas de desarrollo como Oracle Designer y Oracle Developer, que son las herramientas básicas de programación sobre Oracle.

Para desarrollar en Oracle utilizamos PL/SQL un lenguaje de 5ª generación, bastante potente para tratar y gestionar la base de datos, también por norma general se suele utilizar SQL al crear un formulario.

Referencia: Podemos aprender qué es el lenguaje SQL en un artículo de DesarrolloWeb.com. Además, existe un manual de SQL para el que desee profundizar.

Es posible lógicamente atacar a la base de datos a través del SQL plus incorporado en el paquete de programas Oracle para poder realizar consultas, utilizando el lenguaje SQL.

El Developer es una herramienta que nos permite crear formularios en local, es decir, mediante esta herramienta nosotros podemos crear formularios, compilarlos y ejecutarlos, pero si queremos que los otros trabajen sobre este formulario deberemos copiarlo regularmente en una carpeta compartida para todos, de modo que, cuando quieran realizar un cambio, deberán copiarlo de dicha carpeta y luego volverlo a subir a la carpeta. Este sistema como podemos observar es bastante engorroso y poco fiable pues es bastante normal que las versiones se pierdan y se machaquen con frecuencia. La principal ventaja de esta herramienta es que es bastante intuitiva y dispone de un modo que nos permite componer el formulario, tal y como lo haríamos en Visual Basic o en Visual C, esto es muy de agradecer.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

29

Object 1

Page 30: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Los problemas anteriores quedan totalmente resueltos con Designer que es una herramienta que se conecta a la base de datos y por tanto creamos los formularios en ella, de esta manera todo el mundo se conecta mediante Designer a la aplicación que contiene todos los formularios y no hay problemas de diferentes versiones, esto es muy útil y perfecto para evitar machacar el trabajo de otros. Pero el principal y más notable problema es la falta de un entorno visual para diseñar el formulario, es decir, nos aparece una estructura como de árbol en la cual insertamos un formulario, a la vez dentro de éste insertamos bloques o módulos que son las estructuras que contendrán los elementos del formularios, que pueden estar basados en tablas o no.

Por lo tanto si queremos hacer formularios para practicar o para probar qué es esto de Oracle, os recomiendo que uséis Developer pues es mucho más fácil e intuitivo al principio.

Artículo por David Masip

Qué es ActiveX

ActiveX es una tecnología de Microsoft para el desarrollo de páginas dinámicas. Tiene presencia en la programación del lado del servidor y del lado del cliente, aunque existan diferencias en el uso en cada uno de esos dos casos.

En el cliente:

Son pequeños programas que se pueden incluir dentro de páginas web y sirven para realizar acciones de diversa índole. Por ejemplo hay controles ActiveX para mostrar un calendario, para implementar un sistema de FTP, etc.

Son un poco parecidos a los Applets de Java en su funcionamiento, aunque una diferencia fundamental es la seguridad, pues un Applet de Java no podrá tomar privilegios para realizar acciones malignas (como borrarnos el disco duro) y los controles ActiveX sí que pueden otorgarse permisos para hacer cualquier cosa.

Los controles ActiveX son particulares de Internet Explorer.

En el servidor

También existen controles ActiveX del servidor y la gente que conozca ASP seguro que los utiliza ya, aunque sea sin darse cuenta. Por ejemplo, cuando realizamos una conexión con una base de datos, estamos utilizando un control ActiveX del servidor.

Para aprender más de ActiveX de servidor, sería interesante consultar el artículo Componentes de servidor ASP

Desarrollo de ActiveX

Los controles ActiveX se desarrollan con entornos de Microsoft para la creación de aplicaciones Windows, como pueden ser Visual Basic Script o Visual C. Se nos escapa totalmente de este artículo el explicar algo del método de desarrollo, pero lo que si cabe señalar es que existen muchos controles ActiveX tanto del lado del servidor como del cliente, que están ya desarrollados y podemos incluirlos fácilmente en nuestras creaciones.

Artículo por Miguel Angel Alvarez

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

30

Page 31: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Qué son las Extensiones de Frontpage

Las extensiones de Frontpage son pequeñas funcionalidades añadidas por dicho programa a las páginas web básicas. Frontpage las pone a disposición del diseñador de páginas para que las incluya en su sitio web, si así lo desea.

Las extensiones de Frontpage son, por ejemplo, contadores, formularios que realizan pequeñas tareas automáticamente o ayudas para la publicación de la web. En definitiva, son pequeños scripts de servidor para hacernos la vida más sencilla o ampliar las funcionalidades de nuestras páginas.

Las tareas de publicación de la web se refiere a una manera muy cómoda de trabajar directamente con el servidor de alojamiento por la que a medida que vamos construyendo la página esta se va actualizando directamente en el servidor web, de modo que no tendremos que realizar acción alguna para publicar nuestro trabajo una vez realizado sino que ya estará publicado en Internet y accesible a todos los usuarios.

Referencia: Podemos conocer más sobre este programa en nuestro directorio de categorías, sección Frontpage.

Instalar las extensiones de Frontpage

Para poder utilizar correctamente las extensiones, deben estar instaladas en el servidor donde vamos a publicar las páginas web. Si no disponemos de las extensiones en el servidor las funcionalidades avanzadas como los contadores o las asociadas a los formularios no estarán disponibles y puede darse el caso de que en nuestro ordenador local sí que se vean bien y que en el servidor de Internet no.

Las extensiones se deben instalar de manera distinta dependiendo del alojador que hayamos contratado. No todos los proveedores de Hosting permiten el uso de las extensiones de Frontpage por lo que si estamos pensando utilizarlas es muy importante que nos informemos de si se permiten en el proveedor antes de contratar el espacio. No obstante, cabe señalar que casi todos los proveedores ofrecerán la posibilidad de instalarlas, aunque en muchos casos deberemos solicitar que las instalen o hacerlo nosotros mismos.

Para instalarlas es necesario que preguntemos en nuestro alojador cómo realizar esas acciones. Es posible que a través del típico panel de control del dominio se permita realizar la instalación. En cualquier caso, si están instaladas deberían aparecer un par de directorios llamados _vti_cnf y _vti_pvt. Lo más seguro que si los copiamos directamente o subimos por FTP dichas carpetas no nos sirva de mucho, así que informémonos como realizar la instalación antes de meter la pata.

Artículo por Miguel Angel Alvarez

Qué es Fortran

Un poco de historia

• Este lenguaje procedural fue el primero de alto nivel (1957) • Desarrollado por IBM para el IBM 704.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

31

Page 32: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

• Orientado a la eficiencia en la ejecución. • Se creó la definición estándar del lenguaje en el 66. • Otras versiones:

FORTRAN 77 FORTRAN 90

Un sencillo ejemplo

Características

Tipos de datos soportados:

• Numéricos (enteros, reales, complejos y doble precisión). • Booleanos (logical) • Arreglos • Cadenas de caracteres • Archivos

FORTRAN 90 ya es estructurado, y no requiere sentencias GOTO. Sólo admite dos ámbitos para las variables: local y global.

Veamos ahora un ejemplo más extenso:

Variables y constantes

• FORTRAN no es sensible a mayúsculas y minúsculas. Los nombre de variables tienen de 6 a 31 caracteres máximo y deben comenzar por una letra. Los blancos son significativos.

• Declaración explicita de variables. • Enteras (I-N), el resto reales. (se modifica con IMPLICIT). • Punteros: en los primeros FORTRAN no hay punteros y todas las variables se almacenan

en memoria estática. En FORTRAN 90 se declaran INTEGER, POINTER::P. • Para memoria dinámica ALLOCATE y DEALLOCATE

Tipos de datos

• Arrays, pueden tener hasta 7 dimensiones y se guardan por colummnas. REAL M(20),N(-5:5) DIMENSION I(20,20) (tipo por nomenclatura implícita)

• Cadenas de caracteres, el primer carácter es el 1, el operador // permite concatenar cadenas.

CHARACTER S*10, T*25 • Almacenamiento de datos. Se usa COMMON para datos compartidos y EQUIVALENCE

cuando almacenamos una variable con dos posibles tipos en la misma posición de

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

32

Page 33: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

memoria (como union en C). Se usa DATA para inicializar datos estáticos. DATA X/1.0/,Y/3.1416/,K/20/

• Tipos definidos por el usuario, con TYPE <nombre>... END TYPE <nombre>

Control de secuencia

EL conjunto de estructuras de control es limitado:

• Expresiones, prioridad de operadores • Enunciados

Asignación, cuando se hace entre cadenas hay ajuste de tamaño con blancos o truncamiento.

Condicional. Permite IF ELSE IF... Para selección múltiple SELECT CASE CASE.....CASE DEFAULT.... END SELECT

Iteración. DO....END DO Nulo, se usa solo para la etiqueta. CONTINUE.

• Control de subprogramas. CALL invoca al subprograma y RETURN devuelve un valor al programa llamante.

• Construcciones propensas a error: GOTO.

Entrada y salida

• Tipos de archivos: Secuenciales De acceso directo

• Comandos: READ, WRITE, PRINT, OPEN , CLASE, INQUIRE (propiedades o estado del archivo) REWIND y ENDFILE (para ubicar el puntero del fichero).

• Para el tratamiento de excepciones en las sentencias READ/WRITE se puede introducir la posición de la rutina de dicho tratamiento (ERR=90).

Subprogramas

• Hay tres tipos de subprogramas: Function, devuelven un solo valor de tipo numérico, lógico o cadena de

caracteres. Subroutine, devuelve valores a través de variables no locales COMMON. Función de enunciado, permite calcular una sola expresión aritmética o lógica.

FN(X,Y)=SIN(X)**2-COS(Y)**2• Gestión de almacenamiento.

Las variables son locales o globales (COMMON) Recursividad: RECURSIVE FUNCTION FACTORIAL(X) Parámetros de subprograma. Paso por referencia.

Abstracción y encapsulación. Evaluación del lenguaje

• La abstracción es posible mediante los subprogramas y el uso de variables COMMON, aunque su uso es propenso a errores.

• FORTRAN sigue siendo utilizado en el ámbito científico y es muy eficiente realizando cálculos.

La estructura del programa suele ser dificil de entender. En FORTRAN 90 se incluye la recursividad y la memoria dinámica. Las etiquetas de las sentencias ya no son necesarias, ni el GOTO, pues se ha

transformado en un lenguaje estructurado. El aspecto de los programas sigue siendo de procesamiento por lotes

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

33

Page 34: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Artículo por Guillermo Aedo Contreras

Qué es Lisp

Un poco de historia

• 60. McCarthy en el MIT. • Muy usado en IA. • En LISP la recursión se emplea a menudo como estructura de control, lo que resta

eficiencia a las ejecuciones. • Las últimas versiones de LISP incluyen un recolector de basura.

Un ejemplo sencillo

Perspectiva del lenguaje

• Interactivo (usualmente) • Los datos en LISP son muy restringidos:

Átomos literales (símbolos) Átomos numéricos

• La estructura de datos básica es la lista. Incluye primitivas para su manipulación. • Los comentarios comienzan por ‘;’ • Los parámetros de función van todos por valor o por referencia según la clasificación de

la función. • LISP es interpretado y usa una estructura de gestión de almacenamiento en montículo

con recolección de basura como almacenamiento primario para datos y programas.

Un ejemplo más extenso

Objetos de datos

• Tipos de datos primitivos: átomos. Cada átomo tiene una lista de propiedades asociada, accesible a través del puntero que almacena el nombre del átomo. No se distinguen may-min para identificadores.

• Tipos de datos estructurado: listas. Tienen asociado un puntero al primer elemento (car) y otro al elemento siguiente (cdr). Una lista vacía apunta a nil. Para la asignación se utiliza setq(x val).

• Representación y almacenamiento. Cada descriptor de un objeto de datos proporciona tipo y atributos. En los datos estructurados (listas) se tienen sólo punteros a primero y a

siguiente.

Control de secuencia

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

34

Page 35: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

• El traductor LISP es una función read() que toma el fuente del fichero y lo interpreta. • La ejecución del programa consiste en la evaluación de las funciones contenidas en el

mismo. • Expresiones:

Condicional Operaciones sobre átomos (en preorden): +, -, *, / Operaciones sobre listas: cons, car, cdr, list, replace, null, equal. Operaciones sobre propiedades: put, get. Enunciados: prog() para ejecución secuencial. Entrada y salida: open(), read(), print(). Definición de funciones: defun, define.

Gestión de subprogramas

• Tres clases de funciones: Función interpretada, en forma de estructura de listas. Primitivas eval y apply. Función compilada, compiladas en un bloque de código máquina que puede ser

ejecutado por el interprete del hardware. Macro, se declara con define. Es simplemente una función ordinaria en LISP.

Puede ser interpretada y compilada.

Gestión de almacenamiento

• La memoria se estructura en forma de montículo, que maneja unidades de una palabra de tamaño fijo usando una lista de espacios libres y un recolector de basura.

• Entorno de referencia: Local, es el que se da en las listas, como asociaciones de átomos relacionados de

una determinada manera. Global o común, se consigue mediante asociación de un átomo con una

propiedad del mismo que contiene un puntero al datos referenciado. Se usa set y setq.

• Paso de parámetros: Transmisión por valor, consiste en evaluar las expresiones de una lista de

parámetros y transmitir los valores resultantes. Transmisión por nombre, transmitir las expresiones de la lista de parámetros sin

evaluar, y dejar que la función llamada los evalue usando eval. En funciones macro la transmisión por nombre es la norma. Para funciones lambda se puede especificar la transmisión por nombre usando nlambda, en lugar de lambda.

Funciones en Lisp

• Funciones normales, son las que se suelen incluir en las implementaciones de LISP (ver manual en cada caso).

• Funciones de lista, para manipulación de listas: car L, devuelve el primer elemento de L. cdr L, devuelve la cola (lista - primero). cons x y, devuelve uan lista formada por x e y. list x y z, devuelve la lista (x y z). quote x, no se evalúa x.

• Predicados atom x, devuelve True si x es un átomo. numberp x, devuelve True si x es un número. greaterp x y, devuelve True si x>y. lessp x y, devuelve True si x<y. null x, devuelve True si x es nulo.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

35

Page 36: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

and x y, devuelve x and y. or x y, devuelve x or y. not x, devuelve not x. eq x y, devuelve True si x=y.

• Funciones aritméticas: +, -, *, y /. rem x y, devuelve el módulo x/y (remainder).

• Funciones de entrada y salida load nombrearchivo, lee el archivo a memoria. print x, imprime el elemento x. open nombrearchivo, abre un archivo y devuelve una puntero al mismo. read, lee del terminal un átomo. help, proporciona ayuda. trace, traza la función. bye, termina LISP.

Abstracción y encapsulamiento

• LISP, en origen, no incluye características de abstracción de datos. • CLOS fue una ampliación de LISP con orientación de objetos. Características:

Herencia múltiple. Funciones genéricas. Metaclases y metaobjetos. Técnica de creación e inicialización de objetos que permite control del proceso

por parte del usuario.

Evaluación del lenguaje

• LISP ha evolucionado durante más de 30 años y desarrollado para inteligencia artificial, pero no es adecuado para aplicaciones convencionales.

• Las versiones compiladas son algo más eficientes.

Artículo por Guillermo Aedo Contreras

Qué es Prolog

• PROLOG está orientado a la resolución de problemas mediante el cálculo de predicados, basado en:

Preguntas a la base de datos. Pruebas matemáticas.

• El programa PROLOG especifíca cómo debe ser la solución, en vez de dar el algoritmo para su resolución. La solución se obtiene mediante búsqueda aplicando la lógica de predicados.

Historia

• Coulmerauer (1970) desarrolló un lenguaje para hacer deducciones de texto. • Se aplica un mecanismo de resolución sobre predicados especiales, cláusulas de Horn,

llamado unificación. • La difusión del lenguaje se produce en los 80, pero de forma muy limitada debido a la

falta de aplicaciones en dicho lenguaje.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

36

Page 37: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Un ejemplo sencillo

Perspectiva del lenguaje

• El programa prolog se compone de unos hechos (datos) y un conjunto de reglas, es decir, relaciones entre objetos de la base de datos.

• La ejecución del programa cargado en memoria consiste en realizar una pregunta de forma interactiva: el interprete generará por inferencia los resultados que se deducen a partir del contenido de la base de datos.

• PROLOG tiene una sintaxis y semántica simples. Sólo busca relaciones entre los objetos creados, las variables y las listas, que son sus estructuras básicas.

• Comentarios entre /* */

Un ejemplo más extenso

Objetos de datos

• Tipos de datos primitivos: variables y constantes: Enteros Reales Caracteres

Los identificadores con minúscula representan hechos, los que van con mayúscula variables. El alcance de una variable es la regla donde aparece.

• Tipos de datos estructurados: Átomos: constantes y variables de cadena. Listas, representadas entre [ ].

• Tipos definidos por el usuario. Las reglas para definir relaciones pueden actuar como tipos de usuario.

Representación de almacenamiento

• Las reglas y hechos son almacenadas en memoria como listas enlazadas. • La ejecución de prolog consiste en una búsqueda en profundidad de un árbol

conteniendo todas las posibles soluciones. Para cada una de ellas se evaluará su corrección. La búsqueda se puede hacer más eficiente mediante la poda del árbol de búsqueda (corte).

Control de secuencia

El orden de evaluación es secuencial.

• Expresiones, operaciones aritméticas y operadores relacionales. Not(). • Enunciados

Hechos, relaciones que se expresan en una consulta. Son tuplas con un nombre de predicado y unos argumentos.

Reglas, implicaiones que se expresan en una operación consult. Preguntas, sucesión de términos que finalizan con un punto.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

37

Page 38: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Cortes, (!), fuerza el retroceso en la búsqueda. Esto puede impedir que se encuentren ciertas soluciones, pero puede hacer más eficiente la búsqueda.

• Entrada y salida, nl y write.

Subprogramas y gestión de almacenamiento

• PROLOG tiene dos modos: Modo consulta, se introducen nuevas relaciones (hechos) en el almacenamiento

dinámico de la base de datos. Modos pregunta, se ejecuta un intérprete basado en pilas para evaluar las

preguntas del usuario.• Alcance de las variables:

Ambiente local de referencia, todas las variables son locales a la regla en que están definidas. La unificación hace interaccionar nombres locales de una regla con los de otras reglas.

Ambiente común de referencia, todos los datos son compartidos. Paso de parámetros, la unificación proporciona el paso de parámetros entre

reglas.• Funciones normales, van integradas en el lenguaje:

Consult(nommbrearchivo) Fail, siempre fracasa. See(nombrearchivo), lee las entradas de un archivo y las incorpora al conjunto

de reglas. Write(término). Tell(término), reorienta la salida del write al archivo. Told, cierra el archivo anterior. Nl, salto de línea. Atom(X), devuleve cierto si X es un átomo. Var(X), devuelve cierto si X es una variable. Integer(X), devuelve cierto si X es un entero. Trace, activa la depuración del programa.

Abstracción y encapsulamiento

PROLOG no proporciona estas capacidades.

Evaluación del lenguaje

• PROLOG va bien para problemas de relaciones, p.e. Tratamiento del lenguaje natural, y consulta de bases de datos.

• A pesar de que es posible desarrollar programas sin especificar el algoritmo de resolución a veces hay que echar mano de otro tipo de programación para hacer los programas más eficientes, y a menudo se emplea el corte para limitar el espacio de búsqueda.

Artículo por Guillermo Aedo Contreras

Qué es la Interacción Persona-Ordenador

La investigación en IPO/HCI lleva a la estandarización de la usabilidad, su mejora y apoyo empírico. El enfoque científico de la IPO/HCI incluye una variedad de herramientas y técnicas

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

38

Page 39: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

que ayudan a desarrollar mejores interfaces de usuario.

Nota: La Interacción Persona Ordenador es más conocida por su nombre en inglés, Human-Computer Interaction y sus siglas HCI (en lo sucesivo utilizaremos las siglas IPO/HCI)

Breve historia

Los orígenes de la IPO/HCI hay que buscarlas en la rama de la Psicología Aplicada que estudia la Interacción Persona-Ordenador. Las dos disciplinas de las que surge la IPO/HCI son las llamadas "Human Factors" y la Ergonomía (en realidad es la misma disciplina, el primer termino se utiliza en EE.UU y el segundo en Europa). Actualmente el uso de estos términos no esta claramente establecido y incluso a veces se utilizan de manera indistinta.

El predominio tradicional en la IPO/HCI ha sido de los ingenieros, aunque la influencia de la psicología es creciente. La Psicología es la disciplina que estudia la percepción, la memoria, la adquisición de habilidades y el aprendizaje, la resolución de problemas, el movimiento, las tareas de juicio, de búsqueda o procesamiento de información y de la comunicación, es decir, procesos todos cuyo conocimiento se requiere para el adecuado diseño de mecanismos de interacción del usuario. Aunque la Psicología Cognitiva es una ciencia muy joven en lo que respecta a investigaciones de carácter básico y sistemático, existen actualmente suficientes hallazgos basados en resultados empíricos que permiten el desarrollo de la IPO/HCI y, por ende, de sitios web adaptados a los usuarios.

La IPO/HCI es también una disciplina joven, pero no tanto como pudiera parecer. Desde el primer ordenador ha sido necesario el diseño de un sistema de comunicación persona-ordenador. Los estudios en esta disciplina han permitido dar una base teórica al diseño y a la evaluación de aplicaciones informáticas. La importancia de esta disciplina se pone sobre relieve al leer artículos sobre el tema escritos hace cuarenta años en los que se predecían elementos de interacción de los que se dispone actualmente. Una de las asociaciones más influyentes en este campo es la ACM SIGCHI (Association for Computing Machinery's Special Interest Group on Computer-Human Interaction) que desde 1982 reune a los mejores especialistas en IPO/HCI.

Los primeros estudios específicos de IPO/HCI aparecieron en los años sesenta y se referían a la simbiosis Persona-Ordenador (Licklider, 1960). Este autor afirmó anticipándose a la problemática posterior que el problema de la interacción hombre-ordenador no es crear ordenadores productores de respuestas, sino ordenadores que sean capaces de anticipar y participar en la formulación de las preguntas.

Licklider y Clark (1962) elaboraron una lista de 10 problemas que deberían ser resueltos para facilitar la interacción personas-ordenador. Según el los cinco primeros problemas deberían ser resueltos de manera inmediata, el sexto en un tiempo intermedio y los cuatro últimos, a largo plazo:

1. Compartir el tiempo de uso de los ordenadores entre muchos usuarios.2. Un sistema de entrada-salida para la comunicación mediante datos simbólicos y gráficos.3. Un sistema interactivo de proceso de las operaciones en tiempo real.4. Sistemas para el almacenamiento masivo de información que permitan su rápida recuperación.5. Sistemas que faciliten la cooperación entre personas en el diseño y programación de grandes sistemas.6. Reconocimiento por parte de los ordenadores de la voz, de la escritura manual impresa y de la introducción de datos a partir de escritura manual directa.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

39

Page 40: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

7. Comprensión del lenguaje natural, sintáctica y semánticamente.8. Reconocimiento de la voz de varios usuarios por el ordenador.9. Descubrimiento, desarrollo y simplificación de una teoría de algoritmos.10. Programación heurística o a través de principios generales.

El tiempo ha demostrado que Licklider y Clark estaban en lo cierto en la mayoría de sus observaciones, sin embargo, actualmente aún no se han conseguido solucionar algunos de los problemás previstos para su resolución a largo plazo.

Hansen (1971) en su libro "User Engineering Principles for Interactive Systems" hace la primera enumeración de principios para el diseño de sistemas interactivos:

1. Conocer al usuario2. Minimizar la memorización, sustituyendo la entrada de datos por la selección de ítems, usando nombres en lugar de números, asegurándose un comportamiento predecible y proveyendo acceso rápido a información práctica del sistema.3. Optimizar las operaciones mediante la rápida ejecución de operaciones comunes, la consistencia de la interfaz y organizando y reorganizando la estructura de la información basándose en la observación del uso del sistema.4. Facilitar buenos mensajes de error, crear diseños que eviten los errores más comunes, haciendo posible deshacer acciones realizadas y garantizar la integridad del sistema en caso de un fallo de software o hardware.

A pesar de la obviedad y antigüedad de estos principios es fácil encontrar en sitios web de comercio electrónico códigos inmemorizables para identificar productos, mensajes de error ininteligibles y, en general, un maltrato constante al usuario.

Artículo por Eduardo Manchón

Qué es el formato PDF

Historia del PDF

Hace unos años, mucha de la documentación que se servía en soporte digital, generalmente almacenada en diskettes o CD-ROM's, tenía formato de texto plano y más adelante en archivos de Microsoft Word que, sin duda muchos usuarios han pasado por ello, no era siempre posible abrir si no se disponía de la versión más reciente de este popular procesador de textos. Luego estos formatos y algunos otros también bastante extendidos han ido cediendo terreno a dos tipos de documentos que poseen grandes ventajas:

• HTML, lenguaje en el que se elaboran la mayoría de páginas Web accesibles desde Internet.

• PDF, estándar para libros electrónicos con grandes capacidades de presentación.

Ambos formatos, especialmente el segundo, poseen la enorme ventaja frente a muchos otros que han de poder visualizarse con iguales o muy similares resultados independientemente del programa o versión del mismo que se utilice para interpretarlos, amén de permitir crear documentos muy atractivos a la vista y nada complejos de manipular o gestionar internamente por los equipos que los carguen.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

40

Page 41: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

¿Qué es PDF?

PDF es un formato portátil para documentos (Portable Document Format) desarrollado por Adobe Systems y muy usado en Internet debido a su versatilidad, facilidad de uso y tamaño pequeño.

Según se pregona extensamente en la Red, el formato de archivo PDF se ha convertido en el estándar para la distribución de documentación, tanto en intranets empresariales como en la Web, y parece igualmente un correcto método de distribución de archivos en pre-impresión, son muy populares en la red por varias razones:

• Un documento PDF tiene la misma apariencia, color, tipo de imprenta, gráficos y formato que un documento impreso.

• Los archivos PDF se pueden ver utilizando el navegador mismo o se pueden almacenar en la computadora para uso o impresión posterior.

• El programa Lector Acrobat (Acrobat Reader) se puede obtener gratis para la mayoría de los sistemas operativos.

• Si bien el programa Acrobat Reader no se puede usar para editar (modificar) un documento PDF, permite copiar texto del documento a otro archivo, y también efectuar búsquedas para localizar una palabra o texto.

• Pueden distribuirse por toda la Web, o mediante e-mails, o estar en CDs; pero este tipo de archivos es muy utilizado a la hora de compartir información gráfica o de texto, como por ejemplo, contratos, manuales, y hasta e-books.

Requisitos de lectura

Para presentar documentos PDF en la pantalla se necesita un programa de lectura de archivos PDF, como por ejemplo Acrobat Reader o Acrobat Exchange, provistos por Adobe Systems Incorporated.

El programa Acrobat Reader se puede descargar e instalar sin cargo haciendo click aquí o en la siguiente dirección: http://www.adobe.com/products/acrobat/readstep2.html.

Para evitar problemas, actualice su navegador y programa de lectura de documentos PDF con la versión más moderna disponible.

Referencia: Tenemos varios artículos referentes al formato PDF en DesarrolloWeb.com: • Podemos ver en la sección de programas algunas descripciones de software útil para el trabajo

con PDF. También podemos encontrar descripciones de programas en el artículo PDF para todos. • Tenemos una descripción sobre cómo generar PDF desde PHP. • También otros artículos variados como una descripción de las ventajas e inconvenientes del

formato y su uso en la web.

Artículo por Luciano Salvino

La filosofía Basecamp y Ruby on Rails

37signals es una de las empresas referencia en “esto del Diseño Centrado en el Usuario”.

En el año 2003 lanzan su servicio de pago Basecamp dedicado a la gestión de proyectos ha sido un éxito.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

41

Page 42: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

En principio destinado a la gestión de proyectos relacionados con el desarrollo web para empresas está terminando por abrir una línea para particulares: ¡los hay que hasta gestionan su boda con una nueva versión Light del servicio!

Su diseño planteado desde el interfaz (es decir, se ha planteado la aplicación desde la mismísima perspectiva del usuario), su funcionalidad avanzada y sencilla a la vez y el guiño a la comunidad weblogger con RSS como sistema para estar al día de las novedades en el avance de los proyectos convierten a Basecamp en un hito en el diseño de aplicaciones web que goza de gran simpatía.

Además, desde un punto de vista estético, el diseño es limpio, atractivo y "personalizable".

La construcción del interfaz se basa en estándares XHTML, CSS.

¿Qué has hecho hoy por mejorar el mundo? El manifiesto Basecamp

Basecamp es una filosofía de trabajo que busca mejorar la calidad de vida de los profesionales y el resultado de su trabajo: las aplicaciones.

Como guía han publicado su manifiesto que muchos profesionales del sector suscribirían: "la gestión de proyectos se basa en la comunicación", "el interfaz es el producto" entre otras afirmaciones.

Y es que no tener en cuenta estas cosas unidas a un entorno de desarrollo pesado y complicado lento amargan la vida de muchos programadores y además da como resultado aplicaciones costosas y pésimas!

Basecamp por dentro: Ruby on Rails

La plataforma sobre la que corre Basecamp es Open Source, utiliza un lenguaje de programación de nombre desconocido para muchas personas: Ruby.

El Framework de desarrollo que ha nacido de la unión de Ruby y Basecamp, se denomina Rails. Facilita la creación y el mantenimiento de aplicaciones con un ahorro de trabajo impensable en otros entornos.

El carácter emblemático para gestores, diseñadores y desarrolladores de Basecamp ha despertado la curiosidad de muchas personas. Ruby on Rails, nombre por el que se conoce a este entorno, inicia su arranque con fuerza.

Y a la vera de Ruby on Rails aparece un servicio de hosting especializado como Textdrive, aparte de en “los clásicos” como PHP o Perl, en ofrecer el framework Rails.

¿Qué es Ruby?

Es un lenguaje de programación orientado a objetos, multiplataforma y Open Source, creado en 1995 por Yukihiro Matsumoto, en Japón, donde este lenguaje es sumamente popular.

Su objetivo: simplificar la vida de los programadores mediante un lenguaje sencillo de aprender y utilizar. Menos código, menos errores, mayor facilidad de mantenimiento, sin

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

42

Page 43: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

necesidad de compilación.

El resultado: el tiempo se dedica a construir aplicaciones de manera eficiente, no a luchar con entornos o errores ingestionables.

Hasta la fecha, Ruby ha evolucionado gracias a los esfuerzos de la comunidad y a su generosa participación en foros, listas de distribución y canales de Chat en IRC.

¿Qué es Rails?

Rails es el framework o entorno de trabajo, también Open Source y multiplataforma desarrollado por David Heinemeier Hansson que facilita el diseño y desarrollo de aplicaciones web basadas en Ruby separando automáticamente en 3 capas todos los componentes de la aplicación (Model, View y Control. MVC). Ello hace más sencillo y rápido el mantenimiento de las aplicaciones que en otros entornos como Java.

En Ruby on Rails se puede encontrar abundante documentación mantenida libremente por miembros de la comunidad a través de weblogs y wikis.

Lista de correo.

Rails también está bajo 43things, un gestor de to-dos vitales y tras el nuevo diseño de 43things, están los 37signals.

Ruby on Rails en España

Hasta la fecha, en España, pocas personas se dedican "públicamente" a Ruby.

Manuel González Noriega, de Simplelógica, ha creado la primera lista de distribución de Ruby en castellano. Una comunidad efervescente que va ganando adeptos.

Un poco más sobre Ruby on Rails

• Mis primeros pasos con Ruby on Rails • Personas usando Ruby on Rails • Conmovedora Guía a Ruby (Chunky Bacon!) • Ruby on Rails Howtos • "The Building of Basecamp" Review

Artículo por Luis Villa

Qué es Cross Browser

Desde que los navegadores los realizan diferentes empresas u organizaciones de desarrollo de software, con sus propios intereses, las diferencias en los navegadores han sido patentes. Existen unos organismos que definen cómo deben de ser lenguajes como HTML, CSS o Javascript, pero a veces las interpretaciones son distintas por parte de las empresas desarrolladoras de software, o incluso estas se permiten el lujo de crear nuevas etiquetas o funcionalidades, incluso decidir cuáles soportan.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

43

Page 44: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

A medida que los navegadores evolucionan, también las especificaciones se mejoran, por lo que las distintas versiones del mismo software de exploración web también pueden mostrar las páginas de manera distinta entre si.

Con todo esto tenemos que lidiar los desarrolladores del web, pues los programas con los que el público visualizará nuestros trabajos pueden ser muy distintos y el aspecto de las webs puede cambiar bastante de unos a otros. Lo mejor que podemos hacer es realizar páginas web que se vean igual en todos los navegadores. Esas soluciones que se adaptan a todo tipo de navegadores decimos que son Cross-Browser.

Una vez aclaradas la bases, hay que decir que el cross browser se puede aplicar a muchas tecnologías, que son las que entienden los navegadores y con las que trabajamos los desarrolladores. La primera vez que escuché hablar de Cross-Browser fue con Javascript y el trabajo con capas. Los programas más populares para el web en aquellos momentos eran Netscape Navigator e Internet Explorer y la manera de controlar el sistema de capas era notablemente distinta. Por lo tanto, había que encontrar mecanismos para que las páginas web se visualizasen perfectamente en varios navegadores.

Con CSS (Hojas de estilo en cascada) también se habla de Cross Browser, porque distintos navegadores o sus versiones, interpretan más o menos etiquetas y atributos de estilo. También porque un mismo atributo puede ser interpretado con sutiles diferencias que hacen que el trabajo no se vea perfecto en dos navegadores a la vez. Hay entonces que utilizar pequeños trucos para que el efecto sea el mismo en todos los navegadores. A veces los trucos son utilizar un atributo en vez de otro, pero a menudo se proponen trampas que hacen que se vea bien el resultado, a costa de tener un código más complejo o incluso incorrecto sintácticamente.

Con HTML, aunque también hay cambios entre distintos navegadores, son mucho menores y de efecto mínimo, por lo que no se suele utilizar aquí el término.

En el Manual de CSS y el taller de CSS explicamos en algunos casos cómo realizar código que se vea igual en todos los navegadores. Pero sobretodo hemos tratado hasta este momento unos cuantos artículos y un manual para enseñar cómo realizar código Javascript Cross-browser para el manejo de capas.

Artículo por Miguel Angel Alvarez

¿Qué es Telnet y SSH?

Qué es este protocolo de red y para qué puede servir hacer telnet a un webmaster. Descripción del protocolo SSH, para conectarse a una máquina de manera segura.

Telnet es un protocolo de red, utilizado en Internet para acceder remotamente a una máquina o servidor. Telnet es un protocolo que permite acceder a la línea de comandos del servidor, para realizar cualquier tipo de administración del sistema, típicamente Linux o Unix. Telnet suele escuchar el puerto 23.

Para acceder por telnet a un servidor necesitas que ese servidor de soporte a telnet y además tener una cuenta de usuario en la máquina a la que te conectas.

Existen diversos programas cliente que podemos utilizar para hacer telnet. Uno muy popular es Putty.

Nota: Telnet es un protocolo poco seguro, por eso casi se ha dejado de usar. Ahora lo típico es

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

44

Page 45: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

utilizar SSH que es otro protocolo muy similar, aunque con mejoras de seguridad sustanciales. Mirar más abajo en este artículo.

De cara a un webmaster habría que decir que telnet serviría para conectarse con un servidor web, que puede estar en un centro de datos lejos de nuestra oficina, como si estuviéramos trabajando in situ, es decir, delante de él. Una vez dentro del ordenador, se pueden realizar cualquier tipo de acciones de configuración remotamente, como acceder al sistema de ficheros o configurar cualquier asunto del servidor, como el servidor web, el correo, php, tareas de planificación diaria, etc.

Generalmente cuando se contrata un alojamiento básico no se dispone de acceso telnet, ya que los alojamientos normales se ofrecen en máquinas compartidas por muchos otros dominios. Con telnet podríamos configurar cualquier cosa del servidor y eso es algo que no nos van a permitir, porque podría afectar a otros dominios o al correcto funcionamiento del servidor en general.

Telnet es un servicio típico que viene con los servidores dedicados. Como un servidor dedicado sólo lo utiliza un único usuario, con telnet puede configurar a su gusto cualquier cosa del servidor. Una vez que tenemos un dedicado, podemos comprobar como a través del telnet nos resulta muy cómo realizar algunas acciones de administración, como backups, migraciones, planificación automática de tareas periódicas, reparación del servidor ante caídas, etc.

Telnet no es seguro. SSH sí es seguro

Cuando nos conectamos por telnet con un servidor tenemos que enviar nuestro nombre de usuario y contraseña. Estos datos críticos se envían por medio de texto plano, sin ningún tipo de encriptación, por lo que cualquiera podría leerlos si está "escuchando" nuestras comunicaciones.

Para evitar este grave problema de seguridad se utiliza SSH, que es un protocolo de comunicación en redes muy similar, pero en el que todas las comunicaciones viajan de manera encriptada.

SSH suele trabajar en el puerto 22 y los programas que permiten hacer telnet lo más normal es que permitan también hacer SSH. Por ejemplo, el mencionado Putty también permite hacer SSH, lo que a veces se llama "telnet por ssh".

Artículo por Miguel Angel Alvarez

Qué es AJAX

Allá por mediados de los años ’90, época en la que Internet apenas asomaba en nuestras vidas cotidianas, y muchos eran los que todavía aún podrían prescindir de ella, era muy común oír hablar del lenguaje JAVA. Ninguna publicación especializada escapaba al fenómeno: las revistas se llenaban de artículos elogiando aquella tecnología, y vaticinando, cual chamán / gurú, que, en el futuro, el lenguaje de programación que cambiaría nuestras vidas sería el homónimo de un café típico de una ignota isla de Indonesia.

Pocos hubiesen arriesgado, por el contrario, que la base del verdadero fenómeno de los años subsiguientes, se encontraría no en el todopoderoso JAVA, sino en un pequeño y humilde lenguaje de script, el cual tomaría parte del nombre de la antigua vedette tecnológica, y que muchos, durante mucho tiempo, confundirían erróneamente con su hermano menor, aunque poco tendrían estos dos de parentesco: estamos hablando, claro, del JavaScript.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

45

Page 46: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

No sería hasta comienzos del siguiente milenio que este pequeñito encontraría un socio del cual se nutriría con fuerza, sociedad de la cual se originaría una verdadera revolución que cambiaría la forma en que vemos y utilizamos la red de redes. Este socio es, claro está, el XML. Sin ser un lenguaje propiamente dicho, el XML ya tenía varios laureles en su haber: para ese entonces prometía generar un profundo cambio en el intercambio de información y la representación de la misma (de hecho por aquel entonces ya había dejado de ser una promesa para convertirse en una realidad). Aquella fusión de la cual hablamos no ocurriría sino gracias al desarrollo del paradigma de la revolución internetiana: el HTTPRequestObject. Pero no sería hasta el mes de febrero del año 2005 que Jesse James Garrett, arquitecto de la información, le daría un nombre al fenómeno acuñando el término AJAX: Asynchronous JavaScript and XML (JavaScript y XML asincrónicos). Tal vez, sin pretenderlo, con el nuevo término, de palabra corta y pegadiza, ayudara a que el fenómeno se expandiera aún con mayor fuerza.

Pero, ¿qué es exactamente AJAX? Si usted tiene una cuenta de Gmail, probablemente ya lo haya experimentado. AJAX es, sin lugar a dudas, una de las novedades más atractivas y promisorias de la denominada Web 2.0. AJAX echa por tierra todo lo que conocíamos acerca de la manera de relacionarnos con Internet. Esta tecnología redefine el término ‘interactividad’, pasando al siguiente nivel. A partir de esta pequeña revolución, esté expectante de lo que pueda ocurrir en los años subsiguientes en lo que a Internet se refiere, algo de lo cual ya puede verse con solo recorrer algunos de los blogs especializados, que a diario reflejan alguna noticia relacionada con algún nuevo servicio, sitio o aplicación que hace uso de las bondades de AJAX.

AJAX no es una tecnología propiamente dicha. Es, como dijimos, una fusión de tecnologías. Pero ¿qué es lo que hace tan poderoso a AJAX? A decir verdad, la nueva vedette de Internet basa su fortaleza en sus dos pilares fundacionales: un cada vez más poderoso JavaScript, que ha ido mejorando con el correr de los años y se ha ido asentado gracias a la definición de normas y estándares que se fueron adoptando (por fin) de manera cada vez más amplia, y de la versatilidad del XML. En este caso también, como suele decirse, el todo es más que la suma de sus partes.

Gracias a AJAX, atrás quedaron los vetustos formularios cuyas páginas debían ser recargadas para el envío. Atrás quedaron también los interminables listados de información que nuestro navegador bajaba, información de la cual tal vez sólo necesitábamos una pequeña parte. AJAX hace que la información sea cargada de manera precisa, fácil y ágil.

Es gracias a todo esto que, volviendo al caso de Gmail, enviar un mensaje en este servicio de correo electrónico no implica recargar todos los mensajes de nuestra bandeja de entrada una vez enviado. O abrir un mensaje antiguo para recuperar un dato que precisamos no significa tener que volver a solicitar y descargar toda la interfase del sistema (imágenes, html, scripts, etc.) otra vez.

Para hacer una analogía rápida, AJAX hace más parecidas las aplicaciones web a aplicaciones standalone. Pero con todas las ventajas de lo que una aplicación web implica.

Pero la cosa no termina en Gmail. Lo que hace tan emocionante a AJAX es que diariamente, nuevas aplicaciones y servicios son lanzados haciendo uso de esta tecnología. Servicios que nos aportan un plus extra por su agilidad, velocidad y simplicidad de uso. Casos de éxito como flickr, Digg, del.icio.us, Writely (un procesador de textos montado totalmente en la web), o el inminente Windows Live Mail, y un larguísimo etcétera son un claro ejemplo de ello.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

46

Page 47: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

¿Hasta dónde llegará AJAX? Nadie lo sabe, pero al menos podemos tener un indicio de ello. No hace mucho fue anunciado el primer sistema operativo basado en AJAX: el AJAX OS, que aún no tiene fecha de lanzamiento (solamente un escueto ‘Coming soon’), pero ya se anunció que contará con soporte totalmente nativo para esta tecnología. El éxito de este emprendimiento tal vez marque lo que AJAX es capaz de lograr. Y su techo definitivo.

Artículo por Serviweb

Qué es Adobe AIR

Hemos asistido al evento Adobe Max 2007, celebrado durante octubre en Barcelona, en el que hemos tenido ocasión de conocer varias novedades de Adobe. Una de ellas es la que vamos a presentar en este artículo, AIR (Adobe Integrated Runtime).

Adobe AIR es una tecnología que permite la creación de aplicaciones de escritorio (de propósito general) a partir de tecnologías de desarrollo de páginas web, como pueden ser HTML, Ajax o Flash. Con Adobe AIR los desarrolladores pueden aprovechar sus conocimientos a la hora de crear páginas web para hacer aplicaciones multimedia para el escritorio. Es decir, a partir de un desarrollo de una aplicación web, crear una aplicación general con los mismos contenidos o utilidades del sitio web.

Adobe AIR se distribuye gratuitamente para cualquier persona, tanto los usuarios que deseen instalar y usar programas creados con AIR, como para los desarrolladores que quieran crear aplicaciones de escritorio a partir de sus proyectos web. Por tanto, no es necesario disponer de nada especial que haya que pagar para poder beneficiarse de las capacidades de Adobe AIR. Según el equipo de Adobe, están seguros que esta situación de gratuidad permanecerá por siempre. Eso sí, usando las herramientas de Adobe, como Flash, Dreamweaver o Flex Builder, se simplifica bastante la generación de programas AIR.

Una de las ventajas, adicionales a las que ya he apuntado, sobre AIR es que las aplicaciones generadas son multiplataforma. Es decir, los programas de escritorio de Adobe AIR se podrán utilizar en cualquier ordenador, independientemente del sistema operativo que tenga. Esto se consigue porque cuando descargamos una aplicación con Adobe Air, se comprueba si está instalado el entorno AIR en nuestro ordenador. Si no estaba instalado se descarga el entorno de ejecución (ocupa actualmente unos 10 megas) necesario para que las aplicaciones funcionen en nuestro sistema operativo concreto. Una vez ya el entorno se ha instalado en nuestro sistema no se tiene que volver a descargar ni instalar de nuevo. Con ello, Adobe AIR consigue acercarse al paradigma, "programa una vez y ejecuta donde quieras", a la vez que se hace universal y al alcance de todos los usuarios y plataformas. Queda saber hasta que punto han conseguido solucionar todos los problemas de incompatibilidades que en principio pueden existir de ejecutar un mismo software en distintos sistemas.

Para entender lo que es AIR lo mejor es echar un vistazo a algunas de las aplicaciones creadas ya con este sistema, que están publicadas como muestra en el sitio web de Adobe.

http://labs.adobe.com/showcase/air/

Entre las distintas aplicaciones que se exponen vamos a destacar:

• Ebay desktop: una aplicación de escritorio para trabajar con Ebay como si estuviéramos

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

47

Page 48: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

en su propia página web. Este proyecto muestra los productos de Ebay y permite hacer pujas. Se comunica con el servidor de Ebay consumiendo una serie de servicios web que dispone la plataforma de Ebay. http://desktop.ebay.com/

• AOL Top 100 Videos: esta aplicación muestra una serie de videos (el top 100 de AOL), que se pueden ver con mucha calidad y con una velocidad de descarga muy buena. Dos detalles, el vídeo es de alta definición y las descargas se hacen por streaming en segundo plano, por la aplicación no queda congelada mientras está descargando el vídeo. http://music.aol.com/help/syndication/desktop-widgets

• Finetune Desktop: es una aplicación que te aconseja sobre grupos musicales. Puedes crear tu propio perfil con tus gustos, o bien dar el nombre de un artista y recibir recomendaciones de grupos o músicos parecidos. Es un modelo de servicio que ya conocíamos en páginas web, pero que ahora se ofrece como aplicación de escritorio.

Conclusión del informe sobre Adobe AIR

AIR, de Adobe, es un producto novedoso y con grandes posibilidades para toda la comunidad de desarrolladores. Adobe ha irrumpido con un producto singular que da respuesta a la necesidad de crear aplicaciones de escritorio a partir de los conocimientos de millones de

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

48

Page 49: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

personas en la creación de páginas web.

Ahora se encuentra el producto en fase beta, pero esperamos que sigan trabajando para presentar pronto una release definitiva. Con el tiempo veremos hasta que punto penetra entre los usuarios de computadores esta nueva tecnología, pero de momento parece muy prometedora.

Artículo por Miguel Angel Alvarez

Qué son los documentos XPS

Hace poco he descubierto XPS, el nuevo formato de documentos creado por Microsoft. Después de investigar un poco, parece interesante publicar un artículo para explicar un poco de qué se trata.

XPS, que viene de las siglas XML Paper Specification, es un formato de documentos pensado para que sea fácil de compartir, leer e imprimir. XPS es un formato independiente de plataforma (que se podría leer en cualquier sistema operativo), abierto y sin royalties (se puede utilizar en cualquier caso sin tener que pagar ningún derecho al creador). Microsoft ha lanzado este formato recientemente y lo han integrado con Windows Vista y Office 2007.

La integración con Windows Vista es inmediata, dado que el sistema operativo tiene incorporada una impresora XPS, para poder imprimir cualquier documento en este formato desde cualquier programa, igual que podemos haber visto las impresoras PDF, que permiten crear PDFs desde cualquier programa con la opción de imprimir. Con ello conseguimos archivos con extensión .xps, que se pueden leer en cualquier sistema, siempre que tenga un visor XPS instalado.

En Windows Vista, el visor de documentos XPS está integrado dentro del propio Internet Explorer, por lo que para abrir un documento XPS tendremos que hacerlo con el Explorador de Microsoft. Para quien lo desee, también se puede descargar un programa llamado XPS Viewer, para visualizar directamente los documentos XPS sin tener que utilizar Internet Explorer. Además, existe un paquete llamado “Xps Essentials Pack” que incluye el visor de documentos y un programa para crearlos. Todos estos programas son gratuitos.

En Windows XP el visor habría que instalarlo aparte, porque de entrada no tiene compatibilidad con el formato XPS. Aunque para ello tenemos que instalar primero el .NET Framework 3.0, lo que supone un buen tiempo y unas cuantas descargas para, al fin, poder ver los documentos XPS.

Dejo aquí una serie de enlaces de interés sobre XPS para el que desee investigar o trabajar sobre este nuevo formato: (lo siento, pero todos estos links están en ingles)

Página de Microsoft dedicada a XPS Descarga de programas XPS Viewer o el Essential Pack XPS en la Wikipedia

XPS y PDF

El formato es, en mi opinión, una apuesta de Microsoft para competir con el formato PDF, aunque todavía tiene bastante por delante para que se convierta en un verdadero estándar abierto. De hecho, para conseguir visualizar en XP un documento XPS tenemos que pasar un buen rato y hacer algunas descargas.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

49

Page 50: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Siguiendo con las similitudes con respecto a PDF, se podría decir que PDF está basado en PostScript mientras que XPS está basado en XML. Hay que decir que suena bastante bien que el formato esté basado en XML, por las ventajas de este lenguaje en cuanto a compatibilidad y portabilidad.

Posibilidades de futuro para los documentos XPS

Es fácil que los usuarios de Windows Vista se familiaricen con el formato XPS, porque a la hora de imprimir un archivo siempre aparece la opción de la impresora XPS. De hecho, mi interés sobre el formato surgió a partir de ese punto. Además, como en el momento de escribir este artículo no hay soporte para Windows Vista de ninguna impresora virtual de PDF gratuita (para generar archivos PDF con la acción imprimir de los programas), pues no queda otra posibilidad de utilizar la impresora XPS que viene incluida. Esto sin duda hará que los usuarios comiencen a utilizar el formato XPS y a darlo a conocer naturalmente entre sus contactos.

Ahora bien, habrá que esperar un tiempo hasta que la distribución de contenidos y documentos de XPS sea tan habitual como la del formato PFD. A mi no me queda mucho lugar a dudas que Microsoft lo conseguirá. No obstante, en cuanto al trabajo de Microsoft por integrar XPS, no me queda nada claro a qué se refiere cuando dice que Office 2007 tiene compatibilidad con XPS, si luego no consigo abrir con Word ese formato ni guardar un documento con extensión XPS desde Office, a no ser utilizando la impresora XPS que viene con Windows Vista.

Artículo por Miguel Angel Alvarez

Qué es RSS

RSS es un estándar creado para distribuir contenidos, usualmente las novedades, de los sitios web por un canal distinto de la propia página web. Gracias a RSS el usuario visitante de una página web puede suscribirse a sus novedades y recibirlas en su ordenador, en el instante de ser publicadas, sin necesidad de acceder a la página web donde se han insertado. Obviamente, RSS está pensado para webs que publican novedades muy a menudo y para usuarios que quieren estar al tanto de tales actualizaciones, sin tener que entrar todo el tiempo al sitio web para ver si se ha publicado algo nuevo.

Para recibir las novedades se tiene que generar una comunicación entre el ordenador del usuario y el servidor donde está la web. Todo se realiza por medio de un archivo RSS que publica la web y un lector de RSS que debe tener instalado el ordenador del usuario. Es un proceso simple, pero vamos a explicarlo en este artículo con calma para que quede accesible a todas las personas.

Qué es realmente un RSS

Cuando hablamos de RSS nos referimos usualmente a la tecnología completa para distribución de contenidos de los sitios web. Pero un RSS es realmente un formato de archivo, basado en XML, que sirve para recoger contenidos publicados en páginas web. Los RSS tienen extensión .rss o bien .xml, pero en realidad son un simple archivo de texto donde aparecen referencias a contenidos publicados, en un formato específico, creado a partir de XML.

Por poner un ejemplo sencillo que pueda entender todo el mundo: Igual que HTML sirve para escribir páginas en un formato entendible por los navegadores, RSS sirve para enumerar artículos o páginas dentro de un sitio, en un formato que pueden entender programas denominados lectores RSS o agregadores.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

50

Page 51: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

En el archivo RSS simplemente están los datos de las novedades del sitio, como el título, fecha de publicación o la descripción. El programa que lea el RSS será encargado de darle estilo o apariencia a los datos que se incluyan en el archivo y presentarlos de una manera atractiva al usuario y de fácil lectura.

Que RSS sea un formato basado en XML significa que el archivo RSS se compone por una serie de etiquetas definidas que tendrán un formato dado, que respetará las reglas generales de XML.

Este artículo es el primero de una serie que vamos a hacer sobre RSS, para crear un completo manual de RSS. De momento presentamos una serie de enlaces a artículos sobre RSS ya publicados en DesarrolloWeb.com:

- RSS y sindicación - Qué es y para qué sirve RSS

Dejamos algunos enlaces a lectores de RSS comentados en DesarrolloWeb.com:

- FeedDemon - RSSOwl - Feed Reader

Artículo por Miguel Angel Alvarez

Qué es Webkit

Para los que nos gusta saber qué es cada cosa y dentro del marco de nuestro manual de Qué es cada tecnología, publicamos ahora unas notas sobre Webkit, un framework que es conocido principalmente por ser el motor de Safari, el conocido navegador del sistema operativo Mac OS X.

WebKit, como se definen en su propia web, es un motor de navegación web de código libre y además, un framework de Mac OS X que se usó para construir aplicaciones como el mencionado Safari, Dashboard, Mail y otras.

Podemos entrar en su página web para encontrar cómo se definen a si mismos: http://webkit.org/

Como framework entendemos un programa mediante el cual se facilita el desarrollo o programación de otros programas, de la más variada gama. En el caso de WebKit, este framework facilita especialmente crear aplicaciones que tienen funcionalidades como las que podemos encontrar en Safari, léase, renderizado o visualización de páginas web, movimiento entre distintas páginas por medio de links, descarga de archivos, gestión de componentes o plug-ins, historial de navegación, etc.

WebKit es un producto de Apple, creado a partir de las librerías KHTML y KJS de KDE. KDE es un entorno de escritorio para Linux, que dispone de librerías para la interpretación de código HTML (KHTML) y Javascript (KJS), así que WebKit partió de estas librerías para su creación, portándolas al sistema operativo Mac OS X. Debido a la utilización de partes de KDE por parte de Apple, estas dos organizaciones comenzaron una colaboración que dio interesantes frutos para la comunidad de software libre. Así, a mediados de 2005, Apple comenzó el proceso de liberación de WebKit como open source, así como lo eran las librerías de las que partieron, y a partir de ese momento se han creado diversos productos que utilizan WebKit.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

51

Page 52: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Las aplicaciones que utilizan WebKit son principalmente navegadores y otros programas que hacen uso de Internet o las páginas web, debido a sus características y facilidades que ofrece el framework. Sin embargo, el abanico de software que se ha creado con WebKit también incluye editores de texto, lectores de RSS, programas de correo electrónico, mensajería, depuradores diversos, herramientas de desarrollo, etc. Las aplicaciones que usan WebKit son las siguientes:

Navegadores

• Arora • Atlantis • BumperCar • Find It! Keep It! • KidsBrowser • Midori • OmniWeb • osb-browser • Safari • Shiira • SunriseBrowser • TrailBlazer • Web Browser for S60 • Origyn Web Browser

Clientes de correo electrónico

• Entourage 2008 • Mail • Mailplane

Mensajería instantánea o programas de Chat

• Adium • Colloquy • Fire • iChat AV • MSN Messenger • Proteus • Yahoo! Messenger

Lectores RSS

• MiNews • NetNewsWire • NewsFire • PixelNews • PulpFiction • Shrook • Vienna

Aplicaciones enfocadas al desarrollo de páginas web

• Coda • CSSEdit • Contribute 3 • RapidWeaver • Sandvox

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

52

Page 53: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

• Xyle scope • XML Nanny • XML-RPC Client • Safari Guide

Editores de Web-Blogs

• ecto • iBlog • MarsEdit

Editores de texto

• BBEdit • CreaText • Smultron • SubEthaEdit • Taco HTML Edit • TextMate

Aplicaciones de navegación modo quiosco (Navegación a ventana completa y restringida, en tiempo, urls, etc.)

• Kioskbrowser • webXkiosk • wKiosk Browser

Reproductores multimedia

• InterActual Player • CocoaJT • Real Player

Programas de visualización de ayudas

• Chmox • Help Viewer • Lifesaver

Visualizadores de páginas web como fondos de escritorio

• DesktopBrowser • iBrowser • NagaraBrowser • WebDesktop

* Esta lista la he tomado de la Wiki de WebKit: http://trac.webkit.org/wiki/Applications%20using%20WebKit. Podemos ver esa página para un listado actualizado de los distintos softwares en cada categoría, así como para encontrar sus descripciones y enlaces a cada uno de los programas.

Como podemos ver en la lista, hay varios softwares muy conocidos que usan WebKit, de compañías diversas y tan importantes como Apple, Microsoft, Adobe, Yahoo!, Real Networks, etc. Además, hay unos cuantos programas de desarrolladores independientes y empresas de menor entidad.

Se puede encontrar más información de WebKit en su propia página web:

- http://webkit.org/

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

53

Page 54: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

También en otros link externos:

- Webkit en la Wikipedia. WebKit en Español / WebKit en inglés. - Apple Developer Connection Web Kit

Artículo por Miguel Angel Alvarez

Qué es el DOM

DOM es una abreviatura de Document Objet Model. En español podríamos traducirlo por Modelo de Objeto de Documento, aunque en DesarrolloWeb.com nos hemos referido al DOM habitualmente con el nombre de jerarquía de objetos del navegador, porque realmente es una estructura jerárquica donde existen varios objetos y unos dependen de otros.

Los objetos del DOM modelizan tanto la ventana del navegador como el historial, el documento o página web, y todos los elementos que pueda tener dentro la propia página, como párrafos, divisiones, tablas, formularios y sus campos, etc. A través del DOM se puede acceder, por medio de Javascript, a cualquiera de estos elementos, es decir a sus correspondientes objetos para alterar sus propiedades o invocar a sus métodos. Con todo, a través del DOM, queda disponible para los programadores de Javascript, cualquier elemento de la página, para modificarlos, suprimirlos, crear nuevos elementos y colocarlos en la página, etc.

Lo cierto es que quien quiera que haya realizado un poco de trabajo con Javascript, aunque este haya sido muy básico, ha tocado el DOM alguna vez. Aquí en desarrollo web .com hemos visto multitud de ejemplos en los que se tocaba el DOM. Cuando por ejemplo hacemos una sentencia en la que se accede al valor de un campo de formulario, con un código como este: document.forms[0].elemento_formulario.value, estamos accediendo a la estructura de objetos del DOM.

El DOM está definido y administrado por el W3C, por lo que los distintos navegadores simplemente aplican las especificaciones del World Wide Web Consortium, para dar soporte al DOM en sus aplicaciones. El DOM no sólo permite modificar páginas web en HTML, sino también documentos XML.

A lo largo de la historia de los navegadores, se han ido aplicando en mayor o menor manera las características del DOM. A medida que se sucedían versiones de los navegadores también se iba dando un mayor soporte a las especificaciones del DOM, en lo que se han llamado los niveles del DOM. El primero que empezó a disponibilizar por medio de objetos los componentes de la página fue Netscape 2.0, que incorporaba lo que se llama el DOM nivel 0. Actualmente, la última especificación publicada es DOM nivel 4.

Es importante destacar ahora que, dado que los niveles del DOM cambian de versión a versión del navegador y que las especificaciones se han entendido de manera distinta por las distintas organizaciones creadoras de los navegadores, se ha producido un marco donde trabajar con los objetos de la página difiere de un navegador a otro. Esto lo vemos en el artículo DOM y compatibilidad con los distintos navegadores.

Si deseamos obtener otros textos introductorios al concepto de DOM de Javascript, recomiendo la lectura de la Wikipedia sobre el DOM Document Object Model.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

54

Page 55: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Artículo por Miguel Angel Alvarez

Qué son los BBCode

Los códigos BBCode (También se puede ver escrito separado, como BB Code) sirven para especificar la forma con la que se debe mostrar un texto, por medio de una especie de etiquetas, parecidas a las que conocemos en HTML, que permiten formatear dicho texto. Estos códigos podemos haberlos visto utilizarse en foros o a la hora de subir comentarios de usuarios a una página web.

Los BBCode son como estos:

Esto es un [i]ejemplo de texto[/i] con BBcodes: [b]aquí pongo una negrita[/b].[code]y esto es un código fuente...[/code]Y ahora una [url]http://www.desarrolloweb.com[/url].

Este código, como se puede apreciar, tiene varias marcas entre corchetes, para producir diversos estilos y bloques de texto que deben formatearse de una manera específica. Al procesar este texto y sus códigos BBCode, obtendremos como resultado un HTML como este:

Esto es un <em>ejemplo de texto</em> con Bbcodes: <strong>aquí pongo una negrita</strong>.<code>y esto es un código fuente...</code>Y ahora una <a href="http://www.desarrolloweb.com/">http://www.desarrolloweb.com</a>.

En definitiva, los BBCode, sirven para permitir a los usuarios un control mayor de los estilos y el formato en general de los mensajes que publican en foros o en comentarios de posts. Pero sin llegar a permitirles escribir directamente código HTML, para asegurarse que se mantiene controlado el formato de estos contenidos a la hora de visualizarlos en las páginas. En este artículo de desarrollo web .com explicaremos qué son los BBCode y dejaremos para artículos posteriores la explicación sobre cómo implementarlos en nuestras aplicaciones web.

Los BB Code Fueron creados originalmente por el sistema de foros PhpBB, y son las siglas de Buletin Board Code. Actualmente se han convertido en un estándar para la edición de textos en diversos foros y sistemas de comunidades, donde los usuarios pueden participar.

Podemos ver una lista de los BBCodes aquí:

Nota: pueden no estar todos, puesto que diversos sistemas implementan un conjuntos de BBcodes distintos. Del mismo modo, puede que tu sistema no implemente alguno de los BBCode que estoy indicando a continuación.

Formateo de texto sencillo:

[b]Negrita[/b][u]Subrayado[/u][i]Itálica[/i][s]Tachado[/s][sub]Subíndice[/sub][sup]Superíndice[/sup]

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

55

Page 56: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Formateo de textos avanzado:

[color=blue]En color azul[/color] ( permite otros colores, claro, con valores hexadecimal como #ff5500)[size=12]tamaño texto[/size] (permite valores distintos, consultar el estilo en tu implementación)[font=arial]cambio la tipografía[/font][align=right]alineación del texto[/align][quote="Pepe"]Esta es una cita de un texto enviado por Pepe[/quote][code]Esto es un código fuente[/code]

Enlaces:

[url]http://www.desarrolloweb.com[/url][url=http://www.desarrolloweb.com]DesarrolloWeb.com[/url] (para que el texto del enlace sea distinto que la URL enlazada

Imágenes:

[img]http://www.desarrolloweb.com/images/logo_desarrollo_web.gif[/img]

Listas:

[list][*]Red[*]Blue[*]Yellow[/list]

Las listas permiten otros tipos de lista si se indica un valor al iniciar la lista, como [list=1]

Enlaces a email:

[email][email protected][/email]

Referencia: en DesarrolloWeb.com hemos publicado algunos artículo para implementar estos BBCodes en una página web:

• Creación de BBcode en PHP

• Tutorial BBCode

• Implementar códigos BBCode en PHP con PEAR

Artículo por Miguel Angel Alvarez

Qué es un Blog

Dado el actual auge de este formato de publicación en Internet vamos a hablar un poco de los blogs. El objetivo de este artículo es ofrecer una pequeña introducción al concepto de blog, para pasar luego a lo largo de este manual de DesarrolloWeb.com a ofrecer distintas maneras para crear un blog y personalizarlo.

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

56

Page 57: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Para empezar vamos a dar una definición de lo que es un blog a través de un ejemplo. Para ello quiero que penséis en los cuadernos de bitácora de los barcos, en ellos se escribe día a día todo lo que sucede a bordo del buque. Bueno pues un blog es algo parecido, ya que nace con la idea de escribir una especie de diario online. Este diario suele ser personal, aunque hay blogs en los que participan varias personas o una comunidad entera.

Los blog son una de las formas de publicación de la web 2.0, en este caso una evolución de lo que eran antes las páginas personales. Con el paso del tiempo su aplicación y definición ha ido creciendo hacia otros campos como son las noticias, opiniones, etc.

Un blog se define como una web que se actualiza de una forma periódica, donde cronológicamente van a apareciendo artículos de diversos tipos, desde opiniones a noticias, trucos, recetas y en general todo tipo de temáticas. Otra característica de los blog es que los artículos publicados, que suelen llamarse "Post" (el plural sería posts), aparecen en la página los más nuevos primero. Es decir, según se publica algo aparece en portada en primer lugar y a medida que se publican nuevos artículos, se colocan los primeros desplazando los más viejos hacia abajo.

Habitualmente, cada blog está dedicado a una temática en concreto pero puede haber algunos de varios temas mezclados (caso de los blog personales).

Historia de los blog

Los blog, según se puede leer en la Wikipedia, se vieron por primera vez en 1994, cuando en España todavía muchos ni sabíamos lo que era Internet. En realidad lo que ellos apuntan que era uno de los primeros blog, no consistía en más que páginas personales, que no tienen mucho que ver con los blog actuales.

De cualquier modo, el término Weblog se vio por primera vez en diciembre de 1997, acuñado por Jorn Barger. Después de esto se creó el término blog (que viene de la abreviación de Weblog), tanto como sustantivo como verbo: bloguear (editar un blog o postear, enviar un post a un blog). También pronto se comenzó a utilizar la palabra blogger, como la persona que edita un blog, que en español podríamos traducirlo por bloguero.

La popularización de los blog surgió sobre el año 1999 cuando diversos sitios web en inglés empezaron a ofrecer servicios de creación y alojamiento para blogs, de modo que los usuarios de Internet deseosos de convertirse en bloggers, no tuvieran que vérselas con las complicaciones técnicas de crear su propia infraestructura para la edición de blogs.

Pero hasta el año 2002 el término no paso de ser algo específico del medio Internet para introducirse en la sociedad y ser incluso objeto de investigación y fenómeno social.

Después de una pequeña especificación sobre lo que es un blog, pasamos a cómo podemos crearnos uno, pero esto ya lo trataremos en el próximo artículo de este manual. Esperamos que a lo largo de las siguientes entregas que vamos a ir publicando en desarrollo web .com, todos los que deseen crear su propio blog, puedan hacerlo de una manera sencilla.

Artículo por Miguel Angel Alvarez

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

57

Page 58: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

Qué es un CMS

Una pregunta básica que me han hecho alguna vez es ¿qué es un CMS? Intentaré en este artículo dar una definición rápida de CMS y algunos ejemplos de sistemas CMS utilizados para hacer páginas web. En DesarrolloWeb.com hemos hablado varias veces sobre CMS, pero todavía faltaría por aclarar lo que es exactamente:

CMS son las siglas de Content Management System, que se traduce directamente al español como Sistema Gestor de Contenidos. Como su propio nombre indica, es un sistema que nos permite gestionar contenidos. En líneas generales, un CMS permitiría administrar contenidos en un medio digital y para el caso particular que nos ocupa, un CMS permitiría gestionar los contenidos de una web.

Dicho de otra forma, un CMS es una herramienta que permite a un editor crear, clasificar y publicar cualquier tipo de información en una página web. Generalmente los CMS trabajan contra una base de datos, de modo que el editor simplemente actualiza una base de datos, incluyendo nueva información o editando la existente.

Imaginaros un periódico o cualquier otra página medianamente compleja. Principalmente aquellas que tienen que ser actualizadas diariamente o varias veces por día, donde además, las personas que editan la información no tienen conocimientos de informática. A estos redactores se les tiene que facilitar el trabajo mediante una herramienta que les permita subir informaciones a la web y clasificarlas para que aparezcan en el lugar correcto. Por supuesto que estas personas no deben preocuparse con el código de la página ni las particularidades de programación de la plataforma donde esté alojada la web. Ellos sólo deben concentrarse en escribir las noticias, o cualquier tipo de contenidos y luego subirlas a la página por un sistema intuitivo y rápido. Una vez publicadas y clasificadas, las informaciones deben aparecer en la página web automáticamente, en los lugares donde haya decidido el editor.

Una herramienta CMS generalmente contendrá una interfaz basada en formularios, a los que habitualmente se accede con el navegador, donde se pueden dar de alta los contenidos fácilmente. Esos contenidos luego aparecerán en la página en los lugares donde se ha indicado al darlos de alta. Por lo tanto, un CMS estará compuesto de dos partes, un back y un front, siendo el back la parte donde los administradores publican las informaciones y el front la parte donde los visitantes visualizan las mismas.

Clasificación de CMS

En el mundo de los CMS hay cientos de posibilidades y de variantes, ya sea por sus funcionalidades, casos de uso o por las tecnologías que se utilizan para crear las infraestructuras para la publicación y visualización de contenidos.

Una primera clasificación de CMS se podría dar entre sistemas propietarios y no propietarios. Digamos que un sistema propietario es el primer ejemplo que podemos encontrar de CMS, puesto que son herramientas creadas a medida para actualizar una página web. Cualquier página que se haya creado e incluya un sistema para actualizarla a través de formularios, o cualquier interfaz que facilite la publicación, es un sistema CMS. En los inicios de la web no existían sistemas CMS, comerciales o gratuitos, para gestionar los contenidos de los sitios, por lo que se tenía que programar un sistema para poder actualizarla rápidamente, propio para esa web. Por ejemplo, DesarrolloWeb.com tiene un CMS propietario, desarrollado por los creadores del sitio. Por otra parte, tenemos los CMS no propietarios (he buscado alguna palabra para referirme a ellos, pero siento decir que no la encuentro. Por supuesto que se

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

58

Page 59: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

agradece un comentario si alguien sabe cómo decir "no propietario" en una sola palabra), son sistemas que se han desarrollado por empresas o instituciones y que se disponibilizan para que sean utilizados para la creación de cualquier tipo de página web. Estos CMS no propietarios son, en muchos de los casos, completamente configurables, es decir, que sirven para producir cualquier tipo de web con cualquier clasificación de secciones y contenidos.

Nota: Otras clasificaciones señalan que los sistemas propietarios son aquellos que son comerciales, dicho de otra forma, creados por una empresa y que se ofrecen para su uso en webs, sujetos a la compra de una licencia. En ese modo de entender la clasificación de CMS, los gestores de contenidos de pago serían sistemas propietarios, aunque no se hayan hecho a medida para una web específica, sino que sirvan para para desarrollar cualquier tipo de proyecto. Los sistemas propietarios, en este caso, estarían en contraposición con los sistemas CMS gratuitos.

Otra manera de clasificar los CMS sería en función de la utilización de los mismos, ya sea para crear una web empresarial, una publicación como revista o periódico, un blog, un sistema e e-learning, un Wiki, una tienda, foro...

Ejemplos de CMS

Ya que estamos tratando un tema importante, que seguro que interesará muchos lectores, vamos a ir publicando nuevos artículos en desarrollo web .com concernientes a sistemas CMS, valorando y comentando algunos sistemas que hayamos tenido la ocasión de probar. Pero mientras tanto, podemos dar algunos ejemplos de CMS populares que existen en el mercado.

Vignette: http://www.vignette.com/es Es un sistema CMS comercial, que dicho sea de paso, debe ser bastante caro. Es importante comentarlo por ser el primer sistema CMS comercial que apareció en el mercado.

Drupal: http://drupal.org/ Uno de los CMS más populares, en este caso gratuito y open source. Creado en PHP y con posibilidad de utilizar varias bases de datos distintas, por defecto MySQL.

Mambo: http://www.mamboserver.com/ Un sistema CMS libre y gratuito, creado en PHP. Puedes leer el artículo sobre qué es Mambo publicado en DesarrolloWeb.com.

Joomla!: http://www.joomla.org/ Es un CMS de código libre, también creado en PHP. Surge como una mejora o ampliación de Mambo

Wordpress: http://wordpress.org/ El CMS para la creación de blogs por excelencia. El más utilizado y el mejor valorado, también creado en PHP y gratuito.

OsCommerce: http://www.oscommerce.com/ El sistema gestor de contenidos de código libre, para la creación de una tienda más conocido y utilizado. Si te interesa, puedes leer el manual sobre OsComerce que hemos publicado.

De momento, dejamos por aquí esta introducción a los sistemas CMS, esperando poder haber aclarado las dudas iniciales sobre lo que son los sistemas de gestión de contenidos. En breve esperamos publicar más detalles sobre CMS para ayudar a su elección y configuración. De momento podemos dejar un link a un artículo publicado hace tiempo en DesarrolloWeb.com en

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

59

Page 60: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

el que hablamos sobre distintos CMS para publicar blogs.

Artículo por Miguel Angel Alvarez

Qué es Podcast

Podcast es una de esas palabras que circulan por Internet y que se vuelven parte de nuestro vocabulario habitual, o bien de esas palabras resultan todo un misterio para los que no las conocen. En líneas generales, el Podcast es un modo de difusión de contenidos multimedia a través de suscripción, es decir, una nueva vía de publicación de contenidos en audio o vídeo, a los cuales accedemos a través de una suscripción a una fuente o canal de información.

Podcast es una reunión de palabras de tecnología, Pod viene de las siglas "Public On Demand" y Cast viene de la palabra Broadcast. También se dice, por ejemplo en la Wikipedia y en otras webs, que Pod viene del reproductor de Apple iPod. En cualquier caso, vamos a a analizar este término en este artículo de DesarrolloWeb.com.

Public on demand hace referencia a que los podcast son una transmisión de multimedia pública que se envía bajo demanda del usuario. Broadcast es una transmisión o difusión de información desde un nodo emisor a múltiples nodos receptores al mismo tiempo, en definitiva, una manera de transmitir información que se utiliza a menudo en Internet, sobre todo de contenidos multimedia.

Podcast es un RSS que enlaza con audio y/o vídeo

Volviendo a Podcast, y para los que conozcan ya lo que es RSS (si no sabes qué es RSS, como suscribirte o sindicarte a RSS y como publicar tus propios contenidos en RSS, lee el manual de RSS de DesarrolloWeb.com), cabe decir que el podcast no es más que un RSS en el que se añaden archivos multimedia, ya sea audio en formatos como MP3, o vídeo (en este caso se habla de videocast).

Así pues un podcast es una vía de comunicación en la que el canal es Internet y donde en lugar de texto, como suele ser en la web, se transmite la información en archivos multimedia, generalmente de sonido en formato mp3 u ogg. La particularidad de los Podcast es que se ponen a disposición de las personas por medio de suscripción RSS. El sistema es el siguiente: el usuario se suscribe a tantos canales de podcasting como desea y todos ellos se centralizan en un programa que maneja estas suscripciones. Entonces cuando uno de los canales a los que está suscrito se actualiza, el usuario recibe directamente una notificación en el programa y si lo desea, descarga el archivo multimedia y lo reproduce en su ordenador, con cualquier programa reproductor, o bien sincroniza su dispositivo portatil de reproducción multimedia (lo que llamamos coloquialmente el "mp3", tipo iPod, Zend, o similares) con los canales que le interesan, para escucharlos tranquilamente en el lugar que desee.

La posibilidad de acceder a los podcasts por medio de dispositivos portátiles reproductores multimedia es una de las grandes ventajas del sistema, ya que permiten acceder a los contenidos ofrecidos por Internet desde cualquier lugar y en cualquier momento y no necesariamente cuando estamos delante de la pantalla de nuestro ordenador.

En Internet podemos encontrar todo tipo de podcast de todo tipo de temáticas, desde tecnología a deportes, salud, hogar, etc. Al igual que los blog, muchos podcast acostumbran a utilizar un tratamiento informal y lenguaje coloquial, sin embargo, las características de los

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

60

Page 61: Manual Que Es Cada Tecnologia

Tu mejor ayuda para aprender a hacer webswww.desarrolloweb.com

podcast varían mucho de unos autores a otros, tanto en el tiempo de duración de los contenidos como en lo improvisado o elaborado del material multimedia publicado.

Para continuar aprendiendo lo que es Podcast seguramente te interese leer el próximo artículo publicado en Desarrollo web .com, en el que ofrecemos datos interesantes para cómo acceder a contenidos de podcast y dónde encontrar fuentes de información podcasting.

Artículo por Miguel Angel Alvarez

Que es cada tecnología: http://www.desarrolloweb.com/manuales/15/ © Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorización.

61