[Indice]


JavaScript y Java

Un poco de historia.

El JavaScript es un lenguaje de programación que surgió por la necesidad de ampliar las posibilidades del HTML. En efecto, al poco tiempo de que las páginas web apareciesen, se hizo patente que se necesitaba algo más que las limitadas prestaciones del lenguaje básico, ya que el HTML solamente provee de elementos que actuan exclusivamente sobre el texto y su estilo, pero no permite, como ejemplo sencillo, ni siquiera abrir una nueva ventana o emitir un mensaje de aviso. La temprana aparición de este lenguaje, es posiblemente la causa de que se haya convertido en un estándar soportado por todos los navegadores actuales, a diferencia de otros, que solo funcionan en los navegadores de sus firmas creadoras.

Como tantas otras aportaciones al mundo www, fue Netscape quien inició la implementación de JavaScript (aunque al principio no se llamaba así), y posteriormente, una alianza entre Netscape y Sun, creadora del lenguaje Java, permitió que JavaScript tomase la debida consistencia, definiéndose como una variante de Java, pero mucho más simple de usar. Esto no significa que JavaScript sea Java simplificado o reducido. Salvo el nombre y la sintaxis, JavaScript no tiene mucho en común con Java, pero cumple su propósito de lenguaje auxiliar del HTML en los navegadores, y sólo en ellos ya que no es posible utilizarlo fuera del entorno de las páginas. No hay que confundirlo con el JScript de Microsoft, que aunque bastante parecido, no tiene la compatibilidad del original JavaScript, ya que, como todo lo que hacen, está pensado exclusivamente para su propio navegador.

Diferencias

Java es un lenguaje compilado, es decir, que una vez escrito el programa, y a partir de su código fuente, mediante la compilación se genera un fichero ejecutable para una determinada plataforma (Unix, Windows, etc.) que será completamente autónomo. Es un lenguaje de propósito general, infinitamente más potente que JavaScript, con el que se han escrito infinidad de aplicaciones muy conocidas, entre ellas los sistemas de telefonía móvil.

JavaScript es un lenguaje interpretado línea a línea por el navegador, mientras se carga la página, que solamente es capaz de realizar las acciones programadas en el entorno de esa página HTML donde reside. Sólo es posible utilizarlo con otro programa que sea capaz de interpretarlo, como los navegadores web.

Este es un lenguaje orientado a objetos, es decir que la mayoría de las instrucciones que se emplean en los programas, en realidad son llamadas a propiedades y métodos de objetos del navegador, y en algunos casos del propio lenguaje. En Java, en cambio, no hay nada que no esté en un objeto.

¿Cómo se utilizan?

Java
El lenguaje Java es, posiblemente, el que tienen mayor portabilidad, lo que permite escribir programas capaces de ejecutarse en cualquier plataforma, sin realizar apenas ningun cambio. Esta portabilidad propició que el HTML implementase la posibilidad de incrustar programas escritos en Java, que pueden funcionar de forma independiente del resto de la página. Estos programas autónomos reciben el nombre de APPLETS, y se integran en el código HTML mediante el elemento <APPLET>. Se utiliza así:
<BODY>

<APPLET CODE="AnimText.class" WIDTH=600 HEIGHT=40>
  <PARAM NAME=text VALUE="Esto es una prueba de Applet Java">
  <PARAM NAME=font VALUE="TimesRoman">
  <PARAM NAME=type VALUE=1>
  <PARAM NAME=fgcolor VALUE="yellow">
  <PARAM NAME=min VALUE=12>
  <PARAM NAME=max VALUE=36>
  <PARAM NAME=naptime VALUE=100>
  <PARAM NAME=align VALUE=left>
</APPLET>
..
..
..
</BODY>
Este es un applet que forma "olas" con un texto, y puedes probarlo desde aquí.

Analicémoslo brevemente:

El valor del atributo CODE es el nombre del programa: "AnimText.class". Los applets Java cuando se compilan, no son ejecutables directamente desde el sistema operativo de tu máquina, son compilados a nivel objeto (un nivel intermedio entre el código fuente y el código ejecutable) con la extensión .class, y ejecutados a través del visualizador.

Los siguientes elementos son PARAM NAME, y puede deducirse fácilmente para que sirve cada uno: definición del texto que va a aparecer, fuente de la letra, color del texto, etc..

Si pulsas aquí podrás ver el código fuente de este applet.

 

  JavaScript
Para embeber un JavaScript en una página HTML, se utiliza el elemento <SCRIPT>. Este elemento, habitualmente, va dentro del HEAD de la página, y no en el BODY.

Por ejemplo si escribes:


<HTML>
<HEAD>
<TITLE> Prueba</TITLE>

<SCRIPT LANGUAGE="JavaScript">
<!-- 
     document.write("<CENTER><H3>Mi primer JavaScript</H3></CENTER>")
// -->
</SCRIPT>
</HEAD>

<BODY>

</BODY>
</HTML>
Tendríamos una página con el más elemental de los scripts. Fíjate en que después del elemento SCRIPT se abre un comentario (<!-- -->)que contiene las instrucciones. Esto es para ocultar el script a los visualizadores que no sean capaces de interpretarlo. Fíjate también en que antes del cierre del comentario (-->) hay dos barras (//): Esto es para que el intérprete JavaScript no tome el cierre como un instrucción y dé un error, es decir, se trata de un comentario propio de JavaScript, no de HTML.

Puedes probar el script pulsando aquí.

En el índice encontrarás algunos ejemplos de páginas con programas JavaScript. Para ver cómo estan hechos puedes abrirlos con el bloc de notas o cualquier otro editor.

¿JavaScript sí o no?

Una de los problemas más graves que tiene el JavaScript es que cada navegador tiene un nivel de lenguaje diferente (incluso alguno hace caso omiso a los estándares), hay distintas versiones de lenguaje oficial, y hay versiones de lenguaje que sólo funcionan en un navegador concreto. Esto propicia que cuando en una sesión el navegador ha cargado un cierto número de páginas con código JavaScript, es raro que todas ellas contengan código cien por cien compatible con nuestro navegador, y éste puede acabar colgándose, no cargando correctamente las páginas, o no ejecutando los programas JavaScript que éstas contienen. Como siempre se ha dicho en esta guia, se debe probar el código en cuantos navegadores sea posible, y tratar de escribir los programas de la forma más estandarizada posible.

Otro aspecto que no debes olvidar cuando incluyas JavaScript en tus páginas, es que el cliente, tal vez, tenga desactivado el JavaScript de su navegador; en muchos casos incluso desconoce cómo activarlo. Entonces, si has basado en este código el buen funcionamiento de la página, tendrás problemas. En general, a nadie le gusta que un sitio web le obligue a cambiar los niveles de seguridad de su máquina, y puede decidir abandonar nuestro sitio antes que hacerlo. Por tanto, no es recomendable basar en JavaScript aspectos esenciales del funcionamiento de una página. Evidentemente, todo va a depender del tipo de página de que se trate: no es lo mismo un formulario de captura de datos que hay que controlar, que un menú desplegable o una simple decoración aleatoria. Siempre que sea posible, es conveniente plantearse si algunas funciones de control es mejor hacerlas en el servidor utilizando ASP, JSP, PHP, etc., Recuerda que lo programado en el servidor siempre es compatible con todos, y dependes mucho menos del navegador utilizado por el cliente.


[Indice]