Programación Web » Aprender JavaScript » Unidad 1. Aprender JavaScript:

Origen de JavaScript

JavaScript

Para los creadores de sitios Web, la evolución de HTML ha sido una bendición no exenta de controversia.

En los primeros días de la World Wide Web, HTML era bastante simple, y bastante fácil de aprender casi todo lo que se necesitaba saber para agrupar páginas web.

A principios de los años 90, la mayoría de usuarios que se conectaban a Internet lo hacían con módems a una velocidad máxima de 28.8 kbps. En esa época, empezaban a desarrollarse las primeras aplicaciones web y por tanto, las páginas web comenzaban a incluir formularios complejos.

Con unas aplicaciones web cada vez más complejas y una velocidad de navegación tan lenta, surgió la necesidad de un lenguaje de programación que se ejecutara en el navegador del usuario.

De esta forma, si el usuario no rellenaba correctamente un formulario, no se le hacía esperar mucho tiempo hasta que el servidor volviera a mostrar el formulario indicando los errores existentes.

Como la Web crece, también crecen las aspiraciones de los diseñadores, y su demanda de mayor control sobre la página obligó a HTML a cambiar y a hacerse más complejo.

La Web es un medio dinámico, los diseñadores también querían que sus páginas interaccionaran con el usuario, y pronto resultó evidente que HTML era insuficiente para atender esta demanda.

Brendan Eich, un programador que trabajaba en Netscape, pensó que podría solucionar este problema adaptando otras tecnologías existentes (como ScriptEase) al navegador Netscape Navigator 2.0, que iba a lanzarse en 1995.

Inicialmente, Eich denominó a su lenguaje LiveScript.

Posteriormente, Netscape firmó una alianza con Sun Microsystems para el desarrollo del nuevo lenguaje de programación. Además, justo antes del lanzamiento Netscape decidió cambiar el nombre por el de JavaScript.

La razón del cambio de nombre fue exclusivamente por marketing, ya que Java era la palabra de moda en el mundo informático y de Internet de la época.

La primera versión de JavaScript fue un completo éxito y Netscape Navigator 3.0 ya incorporaba la siguiente versión del lenguaje, la versión 1.1.

Al mismo tiempo, Microsoft lanzó JScript con su navegador Internet Explorer 3. JScript era una copia de JavaScript al que le cambiaron el nombre para evitar problemas legales.

Para evitar una guerra de tecnologías, Netscape decidió que lo mejor sería estandarizar el lenguaje JavaScript

De esta forma, en 1997 se envió la especificación JavaScript 1.1 al organismo ECMA (European Computer Manufacturers Association).

Asi es como Netscape inventa JavaScript con la finalidad de controlar el navegador y añadir dinamismo e interactividad a las páginas Web.

Desde su creación JavaScript ha evolucionado mucho (aunque en ocasiones en diferentes direcciones, en función del navegador).

¿Qué es JavaScript?

JavaScript es un lenguaje de programación que puede utilizarse para añadir interactividad a las páginas Web.

A menudo se llama a JavaScript "lenguaje de escritura de guiones" (lenguaje de scripting) denotando que es más fácil escribir guiones que programar.En este caso, es una distinción sin diferencia.

Un guión Script es un programa que está contenido internamente dentro de una página HTML (que es el método original de escribir guiones) o reside en un archivo externo (el método preferido actualmente).

En las páginas HTML, como está incluido en la etiqueta script <script>,  el texto del guión no aparece en la pantalla del usuario, y el navegador web es el que ejecuta el programa JavaScript.

La etiqueta <script> se encuentra muy a menudo dentro de la sección <head> de la página HTML, pero también puede incluir guiones, si lo desea, en la sección <body>.

Los guiones internos que escriben texto en la pantalla, o que escriben HTML, es preferible insertarlos en la sección <body> como en el guión que se muestra a continuación:

Primer Guión de JavaScript

Este sencillo guión muestra el mensaje "¡Hola Mundo!" en la ventana del navegador

JavaScript no es Java

A pesar del nombre, Javascript y Java no tiene casi nada que ver el uno con el otro.

Java es un lenguaje de programación con todas las funciones, desarrollo y comercializado por Sun Microsystems.

Con Java, descendiente de los lenguajes de programación C y C++, los programadores pueden crear aplicaciones enteras y controlar los dispositivos electrónicos del usuario.

A diferencia de otros lenguajes, Java mantiene la promesa de compatibilidad entre las distintas plataformas (plataforma cruzada), lo que quiere decir que un programador podría escribir un programa Java que se ejecutara en cualquier clase de computadora, ya ejecute este Windows, Mac OS X o cualquiera de las diferentes versiones de Unix.

En la práctica, Java no ha completado ese sueño, debido en gran parte a las disputas entre Sun y Microsoft en cuanto a la dirección del lenguaje.

En primer lugar, Microsoft se involucró porque quería integrar Java en Windows a su manera (manera de la que Sun dice que haría que Java funcionara de un modo en Windows y de otro modo en otras computadoras, incumpliendo por consiguiente, el propósito principal de Java); después, Microsoft presentó Java para Windows, una vez que creó su propio lenguaje al estilo de Java, C#.

Después de un montón de litigios entre las dos compañías (y un gran acuerdo favorable a Sun), Microsoft elimino su Java de Windows y, ahora, el usuario puede instalar la última versión de Java de Sun para Windows (o Linux) a partir de su página oficial. Mac OS X lleva Java instalado como parte del sistema operativo.

Además de las aplicaciones independientes, el uso principal de Java en el lado cliente, es decir, en navegador del usuario, es la creación de applets, programas pequeños que se descargan en Internet y se ejecutan en los navegadores Web.

Debido al carácter de plataforma cruzada de Java, estos applets deberían ejecutarse igualmente en cualquier navegador que soporte Java.

En los últimos años muchos applest de Java comenzaron a ser sustituidos por animaciones Macromedia Flash, que son por lo general más fáciles de crear que los applets de Java.

Hoy en día, Flash se encuentra poco a poco siendo reemplazado por las nuevas posibilidades que ofrece HTML5 junto con CSS3 y Jquery.

Los applets se incrustan en las páginas Web utilizando la etiqueta HTML <object>, con información adicional que especifica el applet Java del servidor y lo ejecuta en el área de pantalla especificada en la etiqueta.

Incrustación de un applet de Java

Este applet de Java juega una partida de tradicional gato

La procedencia de JavaScript

Si JavaScript no tiene nada que ver con Java, entonces, ¿Por qué tienen unos nombres tan parecidos?

Es otro ejemplo de una de las parciularidades más molestas de la industria de la computación: el triunfo del marketing sobre la sustancia.

Cuando Netscape añadió algunas posibilidades básicas de escritura de guiones a su navegador Navigator, bautizó a este lenguaje de scripting como LiveScript. Por las mismas fechas, Java estaba consiguiendo mucha prensa como la "Siguiente gran cosa en computación".

Cuando Netscape revisó Navigator para ejecutar applets de Java en Navigator 2, LiveScript se rebautizó como JavaScript, esperando limar parte de la brillantez de Java.

El mero hecho de que JavaScript y Java son lenguajes de programación muy distintos no detuvo a los genios de marketing de Netscape.

Cuando Microsoft vio que JavaScript estaba ganando popularidad entre los desarrolladores Web, comprendió que tenía que añadir ciertas capacidades de scripting a Internet Explorer.

Podrían haber adoptado JavaScript, pero como suele ocurrir, Microsoft optó por desarrollar su propio lenguaje, que funciona de forma muy parecida a JavaScript, pero que no es exactamente igual.

La versión de JavaScript desarrollada por  Microsoft se denomina JScript.

Lo que JavaScript puede hacer

Con JavaScript, podrá hacer muchas cosas para que sus páginas Web sean más interactivas y proporcionen una experiencia más interesante a los visitantes de su sitio.

JavaScript permite crear una interfaz de usuario activa, lo que ofrece retroalimentación a los visitantes según navegan por sus páginas.

Puede utilizar JavaScript para asegurarse de que los usuarios introducen información válida en los formularios, lo que dará como resultado ahorro en tiempo.

Si sus formularios requieren cálculos, puede realizarlos con JavaScript en la computadora del usuario, sin necesidad de realizar procesos del lado del servidor.

Existen una distinción que debe reconocer: los programas que se ejecutan en la computadora del usuario se conocen como programas del lado del cliente; los programas que se ejecutan en el servidor se conocen con el nombre de programas del lado del servidor.

Con JavaScript puede crear sobre la marcha páginas HTML personalizadas, dependiendo de las acciones ejecutadas por el usuario. Suponga que está en un sitio de viajes y el usuario hace clic en Hawaii como destino.

Puede hacer que las últimas ofertas de viajes a Hawaii aparezcan en una ventana nueva. JavaScript controla el navegador, para que pueda abrir ventanas nuevas, visualizar ventanas de alerta e insertar mensajes personalizados en la barra de estado de la ventana del navegador.

Como JavaScript tiene un conjunto de funciones de fecha y hora, puede generar documentos con relojes calendarios y hora.

También puede ocuparse de formularios, establecer cookies, construir páginas HTML sobre la marcha y crear aplicaciones basadas en la Web.

Lo que JavaScript no puede hacer

JavaScript es un lenguaje del cliente; es decir, está diseñado para desempeñar su trabajo en su computadora (el de Usted), no en el servidor. Por ello, JavaScript sufre algunas limitaciones inherentes, la mayoría de ellas por razones de seguridad.

  • JavaScript no permite leer o escribir archivos en las máquinas cliente. En gran medida eso es bueno, porque seguramente no le gustaría que una página Web pudiera leer los archivos de su disco duro, o que fuera capaz de escribir virus en su disco o capaz de manipular los archivos de su computadora. La única excepción es que Javascript puede escribir en el archivo cookie del navegador, pero incluso esta característica tiene sus limitaciones.
  • Javascript no permite la escritura de archivos en las máquinas servidor. Hay varias formas de hacer esto (como almacenando los contadores de impactos de la página o rellenando formularios de datos), pero JavaScript no tiene permitido hacer estas cosas. En cambio, necesitará tener un programa en su servidor para manipular y almacenar estos datos. Por ejemplo, puede tratarse de un CGI escrito en un lenguaje como Perl o PHP.
  • Javascript no puede cerrar una ventana que no ha abierto. Esto es así para evitar que un sitio tome el control de su navegador y empiece a cerrar ventanas de otros sitios.
  • JavaScript no puede leer información de una página Web abierta procedente de otro servidor.

Artículos de navegación

Acerca del Profesor

Adrián Delgado Rodríguez

Ingeniero en Computación, docente por convicción y apasionado por la programación Web.

Actualmente trabaja como Profesor para en el Centro Universitario de la Costa de la Universidad de Guadalajara y como Desarrollador Web.

Síguenos:

 

Ver el perfil completo de Hugo Adrián Delgado Rodríguez (akus.net).

Deja un comentario

avatar comentario
Jose
Para los creadores de sitios Web, la evolución de HTML ha sido una bendición no exenta de controversia.




Diseño de páginas Web en Puerto Vallarta y Bahía de Banderas akus.net
subir

Síguenos en Facebook

Artículo de la semana

Cómo iniciar una página WebMetodología para la creación de sitios

Comprende las fases de Análisis, Planificación, Contenido, Diseño. ¿Qué método utilizas?