 |
|
 |
| Aspectos y características
generales | 
|
Javascript es muy fácil de aprender para quien ya conoce
lenguajes similares como el C++ o Java, pero, dada su simplicidad
sintáctica y su manejabilidad, no es tampoco difícil para quien se
acerca por primera vez a este lenguaje. Sin embargo, esto puede ser
un arme de doble filo porque la simplicidad se basa en una
disponibilidad de objetos limitada, por lo que algunos
procedimientos, aparentemente muy sencillos, requieren script
bastante complejos.
La característica principal de Javascript, de hecho, es la de ser
un lenguaje de scripting, pero, sobre todo, la de ser el
lenguaje de scripting por excelencia y, sin lugar a dudas, el más
usado. Esta particularidad conlleva una notable serie de ventajas y
desventajas según el uso que se le deba dar y teniendo en cuenta la
relación que se establece entre el mecanismo cliente-servidor. Para
explicar con pocas palabras dicha relación, podemos decir que el
servidor envía los datos al cliente y estos datos pueden llegar en
en dos formatos diversos: en formato texto (o ASCII) o en formato
binario (o código máquina: El cliente sabe cómo
comprender sólo el formato binario (es decir, la secuencia de
1 y 0), por lo que si los datos llegan en este formato son
inmediatamente ejecutables (y, por desgracia, no dejan abierta la
posibilidad de efectuar controles), mientras que si el formato es
diverso tienen que ser interpretados y traducidos al formato binario
y, por tanto, el cliente necesitará un filtro, o mejor dicho, un
intérprete que sepa leer estos datos y los pueda traducir al
binario. Los datos en formato texto son visibles al usuario como
simples combinaciones de caracteres y de palabras y son, por tanto,
fáciles de manipular, si bien requieran más tiempo para su
interpretación a causa de los distintos pasos y de las
transformaciones a las que deben someterse para que el cliente pueda
comprenderlos: Los datos en formato binario, sin embargo, son
difíciles de comprender por el usuario, pero inmediatamente
ejecutables por el cliente ya que no requieren fases
intermedias.
Sentada esta premisa, podemos dividir los lenguajes que suelen
utilizarse en el web en cuatro tipologías:
- HTML: está en formato texto y no es un lenguaje en el sentido
tradicional, sino un empaginador para consentir colocar los
objetos en la página con las características indicadas.
Naturalmente, por esta peculiaridad, tiene un carácter estático y
no interactúa con el usuario ni puede tomar decisiones sino por lo
que se refiere a los formularios. Para su interpretación necesita
un navegador;
- lenguajes compilados: son lenguajes bastante complejos en los
que la fuente (un file de texto con las operaciones que hay que
ejecutar) se compila en código
máquina y se empaqueta en un ejecutable que puede
utilizarse sólo de la forma y para las operaciones para las que se
ha proyectado;
- lenguajes semicompilados: en realidad, a esta clase pertenece
tan sólo Java porque es un lenguaje compilado en un formato
intermedio entre los file ASCII y el file binario. Dicho formato
se llama bytecode y es interpretado en el cliente por una
máquina virtual llamada Java Virtual Machene. De esta
manera, a la recepción, dicha máquina completa la compilación y
hace que el file sea ejecutable;
- lenguajes interpretados: son los que resultan muy similares al
HTML, pero que tienen mayores potencialidades porque permiten
efectuar controles y operaciones complejas. Se envían en en file
ASCII y, por tanto, con código en claro que el navegador
interpreta y ejecuta línea por línea en modalidad runtime.
El concepto de script queda bien expresado con una comparación
que podemos leer en el texto de Michael Moncur sobre Javascript,
recientemente publicado en Italia por Tecniche Nuove. La explicación
es muy eficaz y merece citarse: script en inglés
significa "guión". De hecho, el uso es exactamente éste: el
navegador lee una línea, la interpreta y la ejecuta, después pasa a
la sucesiva y hace lo mismo, y así hasta el cierre del script.
Ventajas y
desventajas
¿Cuáles son las ventajas y cuáles las desventajas respectivasde
los lenguajes de scripting y los lenguajes compilados? Intentemos
resumir algunas::
- el lenguaje de scripting es seguro y fiable porque está
en claro y y hay que interpretarlo, por lo que puede ser filtrado;
para el mismo Javascript, la seguridad es casi total y sólo en su
primera versión el CIAC (Computer Incident Advisory Committee)
señaló problemas de leve entidad, entre ellos la lectura de la
caché y de los sitios visitados, de la dirección e-mail y de los
file presentes en el disco. Sin embargo, estos fallos se
corrigieron ya en las versiones de Netscape sucesivas a la 2.0;
- los script tienen capacidades limitadas, por razones de
seguridad, por lo cual no es posible hacer todo con
Javascript, sino que es necesario usarlo conjuntamente con otros
lenguajes evolucionados, posiblemente más seguros, como Java.
Dicha limitación es aún más evidente si queremos operar en el
hardware del ordenador, como, por ejemplo, la fijación en
automático de la resolución vídeo o la impresión de un documento;
- un problema importante es que el código es visible y
puede ser leído por cualquiera, incluso si está protegido
con las leyes del copyright. Esto, que en mi opinión es una
ventaja, representa el precio que tiene que pagar quien quiere
utilizar el web: la cuestión de los derechos de autor ha asistido
a una verdadera revolución con la llegada de Internet (citamos,
como ejemplo más representativo, el MP3). La tutela que
proporcionan las leyes actuales resulta débil e inadecuada, por lo
que la única solución es tomarse las cosas con filosofía;
- el código Javascript se ejecuta en el cliente por lo
que el servidor noes solicitado más de lo debido; un script
ejecutado en el servidor, sin embargo, sometería a éste a dura
prueba y los servidores de capacidades más limitadas podrían
resentir de una continua solicitud por un mayor número de
usuarios;
- el código del script debe descargarse completamente
antes de poderse ejecutar y ésta es la otra cara de la moneda de
lo que hemos dicho anteriormente: si los datos que un script
utiliza son muchos (por ejemplo, una recopilación de citas que se
mostrara de manera casual), el tiempo que tardará en descargarse
será muy largo, mientras que la interrogación de la misma base de
datos en el servidor sería más rápida.
| |
 |
|
 |