 |
|
 |
|
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.
|
|
 |
|
 |